2017-02-06 16 views
0

私は、3つのコンポーネント、<project-item><project-list>および<project-view>を含むプロジェクトビューを持っています。これらのコンポーネントはすべて、選択したプロジェクトを認識する必要があります。同じビュー内のコンポーネント間の状態共有に最適な方法

  • <project-item>は、特定のプロジェクトの状態を保持します。このコンポーネントには、プロジェクトが選択されているかどうかを判断するselectedというプロパティがあります。
  • <project-list>には、1つまたは複数のプロジェクトアイテムが格納されており、子タイプが<project-item>であり、選択されているアイテムをチェックする計算プロパティがあります。
  • <project-view>は、ナビゲーションとロジックに関連付けられたUACを含む一般的なビューです。

階層は、私はそれがグローバルな状態ではありませんようvuexがここに間違った選択であると感じて、その状態を共有する最良の方法だろう

<project-view> 
    <project-list> 
     <project-item selected></project-item> 
    </project-list> 
</project-view> 

何...このようになります。

また、<project-view>コンポーネントの計算されたプロパティを使用して、<project-list>コンポーネントで選択されたアイテムを取得しようとしましたが、存在し、スコープ内にあるにもかかわらずエラーが発生します。

答えて

1

Vuexはあなたの答えです。 https://vuex.vuejs.org/en/intro.html

これは、状態を共有するためのソリューションです。

ストアを作成し、状態をストアに接続し、アクション/突然変異を使用して作業します。

これは、必要に応じて簡単にスケールアップできる状態共有のための優れた基盤を提供します。

幸運を祈る!

+0

私は常にグローバルな状態なぜドンであるコンポーネントのカップルの間ではないとしてVuexを見てきましたこの方法を使うのは正しいと思います。 – nblackburn

+1

それは正しいです。開発中は常にスケーラブルなソリューションを使用してください。あなたはあなたのプロジェクトがどのように成長するかを決して知りません。 Vuexの紹介時間は20-30分のようです、それは大きな仕事ではありません。 –

+0

私はすでにそれを使用していますが、私はアプリケーション全体を認識する必要があると思うものの、それは公正なポイントだと私は小さいスケールでもそれを使用することはできません私は見ることはできません。 – nblackburn

関連する問題