2017-02-21 5 views
0

私はユーザデータを含むためにvuex状態を使用します。 開かれたパネルを含むデータプロパティを格納する必要がありますか?以下はマークアップデータの記録にはvuexを使用する必要がありますか?

コードの一部..

const state = { 
user: { 
    id: -1, 
    name: '', 
    authenticated: false, 
    avatar_url: '', 
}, 

とマークアップ

<h5 class="text-subhead-2 text-light">Some text</h5> 
    <div v-for="elem in elements" class="panel panel-default open" data-z="0.5"> 
       //list of elements below 

または私はすべての私の要件についてvuex反応を使用することができますがありますか?

+6

一般に、複数のコンポーネントで必要な場合は、Vuexに保存してください。そのコンポーネントで必要な場合は、コンポーネントの 'data'に格納します。この場合、非Vuexはおそらく正しいでしょう。 – ceejayoz

答えて

0

@ceejayozのコメントには有効な点がありますが、私はどのようにしての表示(これは意味する)のように他の角度を提示したいと思います。

アプリケーションの規模はわかりませんが、 "開いた/閉じた"はフラグ(状態)なので、Vuexはそれに適しているようです。たぶん、あなたはいくつかの(任意の)相互作用を追跡し始めたい、あるいは他のコンポーネントがパネルの閉じた/開いた状態に依存するようになるかもしれません。次に、パネルコンポーネントにイベントを送出させる代わりに、他のコンポーネントまたはトラッカーが単に状態(Vuex)に注目することができます。

ここでは、常にYAGNIという原則があります。そのため、アプリケーションの規模を上げました。しかし、私はすべての私のVueアプリを一種の状態管理者で設定しました。なぜなら、コンポーネントツーコンポーネント通信を後で道路に簡単に送るからです。 Vuexに有利なもう一つのポイントは、それがすでにあなたのプロジェクトの一部であるということです。それを統合することさえ問題ではなく、あなたのアプリケーションの内部状態のためだけに拡張することです。

関連する問題