gar*_*hdn 1 angular2-changedetection angular
这可能是我自己的2变化检测如何角的作品,但我本来期望,如果一个组件的误解ChangeDetectionStrategy设置为Checked,CheckOnce或Detached,那该组件是只检查时组件实例一次变化。它似乎不会那样发生。
import {Component, OnInit, ChangeDetectionStrategy} from 'angular2/core'
@Component({
selector: 'my-app',
providers: [],
template: `
<div>
<button
(click)="onClick($event)"
[class.thing]="hasThingClass()">Update</button>
</div>
`,
changeDetection:ChangeDetectionStrategy.CheckOnce,
styles: [`
.thing { background-color: red }
`]
})
export class App implements OnInit {
public hasThing:Boolean = false;
onClick() {
this.hasThing = !this.hasThing;
}
hasThingClass(e) {
return this.hasThing;
}
}
Run Code Online (Sandbox Code Playgroud)
单击时,我本来希望切换hasThing属性,但我不希望视图更新。碰巧,视图会更新。ChangeDetectionStrategy设置为Detached也时发生。
http://plnkr.co/edit/2hHdt2BDpj419Z32iPjJ?p=preview
我在这里缺少什么?究竟是什么导致视图更新?从我所见,无论我更新hasThing属性,无论值是否已更改,视图都会在单击时更新。
无论 ChangeDetectionStrategy 设置如何,Angular 都会在任何时候检查组件的更改
这个想法是......如果组件触发了一个事件,或者绑定的可观察值发生了变化,你很可能想要更新它的视图。
| 归档时间: |
|
| 查看次数: |
4660 次 |
| 最近记录: |