在setTimeout中更改检测

时间:2016-10-15 09:01:25

标签: angular

根据我的阅读,这应该很容易(without any specific ngZone commands),但我没有看到我的ngrx应用程序。

我有这个模板

<app-resto
  [resto]='selectedResto'
  [idx]='selectedRestoIndex'
  (action)='action.next($event)'
  [@selectedResto]='selectedRestoState'>
</app-resto>

这个控制器

ngOnChanges() {
    console.log('OUT:', this.selectedResto.qname);
    setTimeout(() => {
        this.selectedResto = this.restos[this.selectedRestoIndex];
        // this.selectedResto = Object.assign({}, this.restos[this.selectedRestoIndex]);

        console.log('IN:', this.selectedResto.qname);
    }, 500);
}

我看到的是,当selectedRestoIndex发生变化时,会在<app-resto>中进行渲染,并在OUT日志中进行渲染。然后记录IN,但<app-resto>没有进一步的更改。请注意我是如何尝试强制selectedResto也有不同的Ref。

我做错了什么?

0 个答案:

没有答案