VueとNuxtの新機能です。私は$store
の周りに私の頭を得ようとしています。V-bindがストア状態のクラスを更新しない
私は状態オブジェクトを作成し、単純なブール値のプロパティを与えました。そのプロパティがtrue
かどうかに応じて、要素にクラスを追加したいと思います。ここで私は店を作成した方法は次のとおりです。
<template>
<div>
<div>Hello!</div>
<button v-on:click="showSidebar">Click</button>
<div v-bind:class="{active: userSidebarVisible}">the sidebar</div>
<div>{{$store.state.userSidebarVisible}}</div>
</div>
</template>
<script>
export default {
data: function() {
return {
userSidebarVisible: this.$store.state.userSidebarVisible,
}
},
methods: {
showSidebar: function() {
if (this.$store.state.userSidebarVisible === true) {
this.$store.state.userSidebarVisible = false;
} else {
this.$store.state.userSidebarVisible = true;
}
}
}
}
</script>
私はbutton
をクリックすると、active
クラスは切り替えが、最後の内のテキストはありません:私は、次のを持っている私のvue
ファイルで
const store =() => {
return new Vuex.Store({
state: {
foo: "You got the global state!",
userSidebarVisible: true
},
})
}
<div>
が更新されます。私はここで間違って何をしているのだろうかと思います。ローカルデータプロパティで同じことを行うことは意図した通りに動作するようです。
は私がnuxtとVUEの基本的なフォローアップのための謝罪そうすることは非常に新しいですが、私はゲッターとセッターを追加する*とき*、どのように私は 'V-bind'でそれらを使用していますか?そして、私は自分のコンポーネントにコンピュータのプロパティを追加すると仮定しています。*ストアjsファイルではありませんか? – justinw
私の答えに例を追加しました。 getter/setter関数を使った計算されたプロパティのドキュメントです。 https://vuejs.org/v2/guide/computed.html#Computed-Setter – thanksd
あなたの答えが大好きで、質問に深みを与えたいと思います。 私たちの状態を直接変えることはできませんが、私はvueファイルから突然変異をコミットしてはいけませんが、突然変異をコミットするアクションをディスパッチしてください。このルールは常に同期状態の更新でも適用されますか? –