angular8中使用async和await语法,视图不刷新

clipboard.png
clipboard.png
alertthis.isLoading的值是改变了,但是视图并没有做出变化。

clipboard.png

必须要使用ChangeDetectorRef来进行一次脏检查吗

阅读 4.3k
2 个回答

组件用了changeDetection: ChangeDetectionStrategy.OnPush策略吗?如果用了的话,可以用ChangeDetectorRef触发检测,如果没有用OnPush,上级或者某些相关组件用了OnPush,用ChangeDetectorRef可能也有作用,总之,可以试试。

不推荐使用ChangeDetectorRef进行检测, 针对类似同步/异步监听, 我之前也有同样的问题, 推荐使用订阅模式, 在service中订阅, 异步结果返回自动更新, 只需要注意当前组件销毁时取消订阅即可。
https://www.jianshu.com/p/e71... 这篇文章最下方有写,或者看我之前的提问有大佬在下面解答过。

推荐问题