使用模板插值多次调用函数?

wmn*_*tin 4 angular2-template angular2-databinding angular

对不起基本问题,我试图用基本的例子来理解angular2流.

import { Component } from '@angular/core';

@Component({
    selector:'my-app',
    template:'Test {{ getVal() }}'
})

export class AppComponent{ 
    getVal():void{
        console.log("demo text")
    }
}
Run Code Online (Sandbox Code Playgroud)

运行此示例后,"演示文本"在控制台中可见4次,为什么会这样?谢谢.

Gün*_*uer 7

不鼓励绑定到模板中的函数或方法,因为每次运行更改检测时都会调用这些函数.

您至少应该在函数内部缓存结果,以避免重复计算潜在的昂贵计算.

更好的方法是在属性更改结果依赖时重新计算结果,并将结果分配给属性并从视图绑定到此属性.