Vue如何触发computed更新?

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

window.txt 不是响应式的,这个数据调用后端接口获得,我能否手动调用某个方法更新它?

testUpdate就是被触发更新的字段,图片所展示的其实就是将testUpdate的值更新为window.txt

window.txt 是你从后端取过来的数据,前端肯定改不了。只能让后端改。

this.$forceUpdate()

可以倒是可以…你这种计算属性的写法是个简易的写法,只有getter没有setter(无返回值)
下面是看似可以的例子 如果更改的是个响应式数据就可以

computed:{
  testUpadte:{
    set(val){
      window.txt = val 
    },
    get: () => window.txt
  }
}
// 其他地方
testUpdate = 'hello'

计算属性和侦听器 — Vue.js (vuejs.org)
具体原因可以看看computed机制和vue响应式原理
大概意思是更改非响应式数据不会触发vue的更新的通知
你可以在data里面使用一个空的数据,更改那个数据实现更新
在vue3可以使用ref,shallowRef,reactive等方式