vue.js - 当 vuex store 中的特定状态发生变化时发出事件

标签 vue.js vuex

我有一个具有以下状态的 Vuex 存储:

state: {
    authed: false,
    id: false
}

在一个组件中,我想观察 authed 状态的变化,并向服务器发送一个 AJAX 调用。需要在各个组件中完成。

我尝试使用 store.watch(),但当 idauthed 更改时会触发。我还注意到,它与 vm.$watch 的不同之处在于您无法指定属性。当我尝试这样做时:

store.watch('authed', function(newValue, oldValue){
  //some code
});

我遇到了这个错误:

[vuex] store.watch 只接受一个函数。

感谢任何帮助!

最佳答案

只需在您的组件中为 authed 状态设置一个 getter 并观察该本地 getter:

watch: {
  'authed': function () {
    ...
  }
}

关于vue.js - 当 vuex store 中的特定状态发生变化时发出事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39834698/

相关文章:

arrays - "Not assignable to parameter of type never"Vue存储数组声明TS错误

javascript - 基于嵌套数组的过滤返回全部

vue.js - 如何解决 Uncaught (in promise) TypeError : orders. forEach is not a function? Vue.JS 2

javascript - VueJS bcrypt 实现

vue.js - 使用 v-if 时,vue.js 是否不会触发 img 的加载事件?

javascript - 如何在 Vue.js 2 中导出路由器实例

vue.js - 在 vueJS 中,如何在 v-select v2.5.1 中绑定(bind)所选选项的 Id

vue.js - 如何从 Vue 中的 axios 返回响应

javascript - 无法让 Vue.js 过渡正常工作?

firebase - 如何在呈现应用程序时从 firestore 获取集合并设置为 vuex 状态?