0
当changeDetection策略设置为“ChangeDetectionStrategy.Default”时,更改检测在Angular2中如何工作? 它是否检查模板中的所有绑定(仅通过引用),并在引用已更改时触发重新呈现?Angular2默认更改检测
当changeDetection策略设置为“ChangeDetectionStrategy.Default”时,更改检测在Angular2中如何工作? 它是否检查模板中的所有绑定(仅通过引用),并在引用已更改时触发重新呈现?Angular2默认更改检测
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';
}
}
它仍然是检查参考已在模板中绑定的属性。如上例中“person.name”已被绑定在模板中。 –
看看这篇文章:https://blog.thoughtram.io/angular/2016/02/22/angular-2-change-detection-explained.html – Maxime