当changeDetection策略设置为“ChangeDetectionStrategy.Default”时,变更检测如何在Angular2中工作? 它是否检查模板中的所有绑定(仅通过引用),如果任何引用已更改,则触发重新呈现?
答案 0 :(得分:0)
default change detection strategy
将对所有绑定运行更改检测。它不仅会查找参考更改,还会查找模型中的属性更改。
例如,运行以下代码将在运行changeName()
方法后更改模板中的名称,即使只有name
属性发生更改,而不是person
引用。
import {Component} from '@angular/core';
@Component({
selector: 'my-app',
template: `
<h1>Hello {{person.name}}</h1>
<button (click)="changeName()">Change name!</button>
`
})
export class AppComponent {
person = { name: 'Foo' };
changeName() {
this.person.name = 'Bar';
}
}