我为数据react 创建了一个vue对象:

let vm = new Vue({
  data () {
    return {
      myData: {}
    }
  },
  watch: {
    myData (value) {
      console.log('changed')
    }
  }
})

当我按/编辑/删除到vm.myData时,一切正常,观察者给我发送changed.

现在,我想得到changed事件only by "touching" vm.myData(无数据编辑).我可以调用观察者的内部方法吗?

推荐答案

好的,我有解决办法.

我们可以从附加的观察者触发notify()方法:

vm.myData.__ob__.dep.notify()

当vuejs修补原始方法以使数据处于被动状态时,我从源代码中找到了它.

https://github.com/vuejs/vue/blob/dev/src/core/observer/array.js#L42

Vue.js相关问答推荐

无法解析组件:google—pay—button

从组件中检索 Shopware CMS 编辑器中的自定义实体数据

如何将模板传递给EJS菜单

如何在vue js模板中添加foreach和for循环

在下拉菜单上使用箭头键滚动

在 vue.js 中获取当前时间和日期

vuex 中 { dispatch, commit } 的类型是什么?

Vue.js + Vuex:如何改变嵌套项状态?

ECMA6 中 nameFunction() {} 和 nameFunction () => {} 的区别

如何创建 vuetify 工具栏链接下拉菜单?

Django Rest 框架、CSRF 和 Vue.js

为什么我在 vue.js 中得到避免使用 JavaScript 一元运算符作为属性名称?

如何将项目推送到 Vuejs 中数据对象的数组中? Vue 似乎没有关注 .push() 方法

为 Vue 组件动态添加属性

如何将数据属性设置为从 Vuex getter 返回的值

vue 3 使用 Vuex 和路由的服务器端渲染

Vue在按钮单击时添加一个组件

如何设置 :id 前缀字符串?

Vuejs 不会在 HTML 表格元素中呈现组件

如何删除 vue cli 2?