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

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

clipboard.png

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

阅读 4.2k
2 个回答

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题