Angular - Avoiding method binding
If you use something like this in your template
<div *ngFor="let obj of filterObjects(obj)">
Something something: {{ obj.someProperty }}
</div>
<!-- OR -->
<div>{{ mutateObject(obj).someProperty }}</div>
<!-- OR -->
<div>{{ extractSomethingToString(obj) }}</div>
Then you should consider if you can achieve your goal using a pure pipe.
Why?
When you bind to a method, Angular has no idea if that method maintains state which may have changed and must run the function on each digest cycle.
This can result in a big performance hit if you change a large number of objects or if your function is heavy.
Pure Pipes
Angular Pipes are pure by default. Pure Pipes means Angular can treat that function as stateless and only execute the pipe when one of the inputs changes.
This means Angular only needs to trigger the transform method of the Pipe when required.