gpt4 book ai didi

javascript - Angular 2 runOutsideAngular 仍然改变了 UI

转载 作者:可可西里 更新时间:2023-11-01 01:47:08 26 4
gpt4 key购买 nike

根据我对runOutsideAngular()的理解,如果我需要运行不会触发 Angular 变化检测的东西,我需要使用这个函数。但是,我的代码不起作用;当我点击按钮时,UI 发生变化,数字为 2。

@Component({selector: 'my-cmp', 
template: `<h1>{{num}}</h1>
<button (click)="onClick()">Change number</button>`})

class MyComponent implements OnChanges {

num = 1;
constructor(private _ngZone: NgZone ) {

}

onClick() {
this._ngZone.runOutsideAngular(() => {
this.num = 2;
}}));
}
}

最佳答案

如果有任何东西引起了变化检测,并且像 (click)="onClick()" 这样的绑定(bind)事件确实引起了变化检测,那么 Angular 将检测到变化。

runOutsideAngular 并不意味着 Angular 不会看到变化,它只意味着以这种方式运行的代码不会导致变化检测,但是因为点击事件已经发生了,所以它在你的榜样。

关于javascript - Angular 2 runOutsideAngular 仍然改变了 UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40300635/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com