2017-06-04 24 views
0

私はボタン<Button> Log me in! </Button>を持っています。私は現在のvuexアプリの状態に基づいてCSSクラスを変更したいと思います。 (state.userはnullではありません)vuexの状態に基づいてビューを切り替えるにはどうすればいいですか?

このコードを書く正しい方法は何ですか?

このビューのクラス名である状態にフィールドを作成し、それに応じてアクション/突然変異を変更することができます。しかし、私はこの論理を置くべきであるより良い場所がありますか?このフィールドは完全にコンポーネントに依存しているため、グローバルな状態に「リーク」する必要はありません。

答えて

1

一般的なオブジェクトバインディング構文を使用してください。

<button :class={someClass: !$store.state.user}>Log me in!</button> 

また、Vuexでゲッターを定義し、それをクラス定義で使用します。

+0

私はv-showがより簡単だと思うが、私の質問は十分に具体的ではなかった。これは動作します!ありがとう – user1017674

+0

@ user1017674確かに、表示/非表示にしたい場合は、 'state.user'を使って' v-show'または 'v-if'を実行するともっと明確になります。 – Bert

0

私は正しい方法は、計算された関数を使用し、その方法でv-show指示をバインドすることだと思います。

関連する問題