Предположим, они есть в шаблоне Angular 2:
<div>{{ firstName + ' ' + lasstName }}</div>
...
<div>{{ getFullName(person) }}</div>
...
<img [src]="baseUrl + '/' + 'area' + '/' + 'image'">
...
<img [src]="getFullAvatarUrl(person)">
Мне интересно, будут ли эти выражения оцениваться при каждом цикле обнаружения изменений в компонентах ChangeDetectionStrategy.OnPush
и ChangeDetectionStrategy.Default
?
Или Angular знает, от каких свойств зависит каждое выражение, и повторно раскрывает их только при изменении этих свойств?
Как насчет использования методов в выражениях - способен ли Angular выяснить, является ли метод чистым, чтобы он мог выяснить, какие свойства должны привести к переоценке выражения?