【问题标题】:Why does <a-scene> trigger infinitely for ngDoCheck and trackBy?为什么 <a-scene> 会无限触发 ngDoCheck 和 trackBy?
【发布时间】:2018-11-07 17:12:57
【问题描述】:

&lt;a-scene&gt; 在模板中使用时会触发 ngDoChecktrackBy

用例很简单:

组件

ngDoCheck() { console.log('infinite spam'); }

trackByFn = (index: number, item: any): number => {
    console.log('infinite spam');
    return item['id'];
}

模板

<a-scene>
    <!-- empty -->
</a-scene>

请帮助我理解这一点

【问题讨论】:

    标签: javascript angular aframe


    【解决方案1】:

    ngDoCheck() 由 Angular 的更改检测触发,以确定是否必须运行 ngOnChanges() 方法以及是否需要刷新 DOM。

    同样作为 Angular 变更检测周期的一部分,ngDoCheck() 方法会针对所有用户事件(如点击、按键、导航等)运行。

    【讨论】:

    • 有关触发原因的更多详细信息,请参阅此链接:blog.angularindepth.com/…
    • 为什么没有under交互时会触发?我的假设是 aframe 在后台做某事,所以我担心性能影响。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-27
    • 2020-01-09
    • 1970-01-01
    • 2019-07-15
    相关资源
    最近更新 更多