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

时间:2016-10-17 07:19:47

标签: angular angular2-template angular2-databinding

对不起基本问题,我正在尝试使用基本示例来理解angular2流程。

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

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

export class AppComponent{ 
    getVal():void{
        console.log("demo text")
    }
}

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

1 个答案:

答案 0 :(得分:6)

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

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

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