vue如何触发computed更新?

这是一个测试代码,以下代码在修改了window.txt = 'xxxx'后,如何触发testUpdate更新?
image.png

或者computed如何获取异步请求返回的参数?

阅读 7.6k
2 个回答

window.txt 不是响应式,无法收集到变更,也无法触发 computed 更新。

computed 函数里的响应对象变化后就会触发更新,一般来说是类似 this.xxx 的形式。

computed监听的当前vue实例内的数据变化,
你window.txt又不是实例内的数据,
建议改成:

export default {
  data() {
    return { txt: '' }
  },
  computed: {
    testUpdate() { return this.txt }
  },
  created() {
    setTimeout(() => { this.txt = window.txt = 'xxxx' }, 2000)
  }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏