vuexのインストール方法はこちら↓
vuexの使い方についてはこちら↓
v-modelをvuexで使う
入力した値を取得&置き換えるときには、getterとsetterをcomputedの中で使用して、v-modelで双方向データバインディングを行う。
store.jsに値を格納する変数を定義し、getters,mutations,actionsに値の受け渡し&受け皿を用意する。
値を受け取る変数 = name
export default new Vuex.Store({
state: {
name: 'Mory',
},
getters: {
name:state => state.name
},
mutations:{
updateName(state,newName){
state.name = newName
}
},
actions:{
updateName({commit},newName){
commit('updateName',newName)
}
}
});
コンポーネントでsetterとgetterを用意し、値のセットと受け取りを行う。
<template>
<div>
<input type="text" v-model="name">
<p>{{name}}</p>
</div>
</template>
<script>
export defalut{
computed:{
name:{
get(){
return this.$store.getters.name;
},
set(value){
this.$store.dispatch('updateName',value);
}
}
}
};
</script>

