文章加密

;

2020年6月16日 星期二

小白也能看懂的Vuex 又 Vuex is different from store,使用带有 setter 的双向绑定计算属性應用到表單

https://zhuanlan.zhihu.com/p/80716895

Vuex is different from store:
應該說store是個變數,常用來存vuex整個寫好程式的,非vuex這個模組,而vuex本身其實不含那些我們添加的states, actions, ... 

https://juejin.im/post/5d1f0947f265da1b667bfb41  State, mapState, ...mapState

https://vuex.vuejs.org/zh/guide/modules.html vuex的modules概念, action的參數怎麼會變,第一個是state還是dispatch...看不懂

https://vuex.vuejs.org/zh/guide/forms.html
假设这里的 obj 是在计算属性中返回的一个属于 Vuex store 的对象,在用户输入时,v-model 会试图直接修改 obj.message。在严格模式中,由于这个修改不是在 mutation 函数中执行的, 这里会抛出一个错误。

較好的方法是使用带有 setter 的双向绑定计算属性,如下:

<input v-model="message">

//....
computed: {
  message: {
    get () {
      return this.$store.state.obj.message
    },
    set (value) {
      this.$store.commit('updateMessage', value)
    }
  }

}






沒有留言:

張貼留言