Я вызываю функцию из углового шаблона (интерполяция), как ни странно, функция вызывается четыре раза !!
Я знаю, как работает обнаружение изменений в angular, поскольку я понял, что процесс обнаружения изменений запускается, если значение привязки обновляется.
В этом сценарии я ничего не привязываю/не меняю как таковой.
var i = 0;
@Component({
selector: 'my-app',
template: `
<div>
<h1>{{ parentCounter() }}</h1>
</div>
`,
})
export class App {
name:string;
constructor() {
}
parentCounter(){
alert(`${++i} called`);
return 5;
}
}
Ссылка: https://plnkr.co/edit/pta0s0nzcsLdTsjCtb3D?p=preview
Примечание. Шаблон был скомпилирован четыре раза до асинхронного события.