如果更改检测策略设置为 onPush,则如果组件属性发生更改,则仅应重新渲染组件。
这是一个示例代码:
var SampleComponent1 = ng.core.Component({
selector: "sampleone",
template: "{{value}}",
viewProviders: [ng.core.ChangeDetectorRef],
changeDetection: ng.core.ChangeDetectionStrategy.onPush
}).Class({
constructor: [ng.core.ChangeDetectorRef, function(cd){
this.cd = cd;
}],
ngOnInit: function(){
this.value = 1;
setInterval(function(){
this.value++;
}.bind(this), 2000)
}
})
var App = ng.core.Component({
selector: "app",
directives: [SampleComponent1],
template: "<sampleone ></sampleone>"
}).Class({
constructor: function(){
}
})
这里即使属性不改变模板也被渲染?这是一个错误还是我误解了 onPush?