If you're thinking about the difference between data and presentation, then you can usually limit the damage caused by "logic in templates"
Though you might want to precompute some values in your data to make the presentation code cleaner, of course.
It's also important to make things as "component"-y as possible. This is an instinct we don't have when doing HTML stuff by default, because the language itself isn't really used like that in "normal" development.
So you have your data, and then your template ends up being pretty minimal in logic, leaving just some core bits that are purely presentational.
For example:
<p> Your Transactions </p>
<div ng-if="userData.hasTransactions">
<TransactionList data="userData.transactions">
</div>
<div ng-if="userData.hasTransactions">
<p> Please configure your transactions <a>here</a></p>
</div>