vuex属性上的字符串与int组件观察程序

时间:2018-07-09 14:53:58

标签: javascript vue.js vuex watch

在Vuex中使用Vue.js我想在状态中的methode属性更改时调用一个函数。我是通过https://stackoverflow.com/a/44347195/6485328的方式实现的。

我的代码:

Vuex商店

export const contentStore = new vuex.Store({
   state: {
      methode: "",
      count: 1
   },
   mutations: {
      selectMethode(state, value){
         vue.set(state, "methode", value)
       },
       increment(state) {
         state.count++
       }
   }
})

组件js

import { contentStore } from "../../../contentstore.js"

export default {
  data: function (){
       return {
     }
   },
  methods: {
  },
  computed: {
     count () {
       console.log("count computed")
       return contentStore.state.count
     },
     methode () {
       console.log("methode computed")
       return contentStore.state.methode
     }
  },
  watch: {
     count (val) {
        console.log("count watch")
     },
     methode (val) {
        console.log("methode watch")
     }
  }
}

观察:

每次调用/提交increment时,都会立即记录"count computed""count watch"

每当调用/提交selectMethode时,就会记录"methode computed"(可能是因为在HTML中使用了methode)。 "methode watch"永远不会出现。

methode上的观察者为什么不像count上的观察者那样工作?

0 个答案:

没有答案