- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
根据我对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/
我正在尝试优化 angular 应用程序中代码的性能。 我知道我可以runOutsideAngular一些代码,以免在每个代码运行或事件上引起更改检测。 但是,我是否需要使用 runOutsideAn
根据我对runOutsideAngular()的理解,如果我需要运行不会触发 Angular 变化检测的东西,我需要使用这个函数。但是,我的代码不起作用;当我点击按钮时,UI 发生变化,数字为 2。
我已经通过此命令使用 cli 创建了 nav-bar ng g @angular/material:material-nav --name=version-nav 并在我的组件中导入为 得到这个错误
我已经在对不可变数据使用 OnPush 变化检测。我想知道是否可以使用 ngZone.runOutsideAngular 进一步优化我的变化检测?我只是在这里寻找一些指导方针。 最佳答案 它们之间没有
根据我在网上阅读的内容,Angular 团队建议您始终在 Angular 区域之外调用 requestAnimationFrame(),如下所示: this.ngZone.runOutsideAngu
我是一名优秀的程序员,十分优秀!