我正在使用 ng Smarttable 并通过事件更改数据源数组(更改是数组内值的 id 更改)。问题是角度没有检测到变化,直到我将鼠标悬停在页面上或单击某处之前什么都没有发生。
因此,更改会在幕后正确应用,并且一旦我单击某处,角度就会“看到”这些更改。
所以我可以手动点击很多次来查看 chaning 属性,但这不是我们想要的。
我试过了:
- 在我更改数组的函数中使用 ChangeDetectorRef (markAsChanged & DetectChange)
- 更改数组后手动进行单击事件
- 使用不变性(this.data= [...this.data];)
有可能有这样的东西吗?
this.renderer.refresh();
还是只使用 ng smartable 的功能?
编辑:看起来问题就在我这边。当您“刷新”智能表时,您会得到一个仅在加载完成后执行的承诺。
我没有使用诺言。将正常的 DetectChange() 放入承诺中使其工作