2017-11-15 20 views
2

私は、「コンテキスト」オブジェクトがVuexに何であるかをよりよく理解しようとしています。Vuexの "コンテキスト"オブジェクトとは何ですか?

コンテキストオブジェクトは、Vuexのドキュメントで何度も参照されています。例えば、https://vuex.vuejs.org/en/actions.htmlでは、我々はしている:

アクションハンドラは 方法/ストアインスタンスに同じプロパティのセットを公開コンテキストオブジェクトを受け取り、あなたが変異をコミットする context.commitを呼び出すことができます。.. 。

私たちは唯一のコンテキストオブジェクトから「コミット」を使用したい場合は、我々は非構造を使用することができますが、私はちょうどそう、もう少し深さを期待していたこともはそれを使用する方法を理解し、何が起こっているのかをより良く理解することができます。しかし、 what is context object design pattern?Can you explain the Context design pattern?

特にVuexに、私はのより良い理解をみたい:スタートとして

、私はパターンとして、「コンテキストオブジェクト」のカップル〜8.5歳の記事を見つけました:

  1. コンテキストオブジェクトとは何ですか/その目的は何ですか?
  2. Vuexで使用できるすべてのプロパティ/メソッドは何ですか?

ありがとうございました!スタートとして

答えて

2

documentationから、あなたが読むことができます指摘:

我々は後でモジュールを導入する場合、このコンテキストオブジェクトは、ストアインスタンス自体ではありません、なぜ我々が表示されます。

コンテキストオブジェクトの主なアイデアは、現在のModuleのスコープを抽象化することです。 store.stateにアクセスするだけで、常にルート状態になります。

行動とそのプロパティ/メソッドのコンテキストオブジェクトがhere in the source codeを説明し、またここでAPI documentation

で参照されているリストは次のとおりである:「私はあなたがあまりにもそれに読んでいると思う:に関する

{ 
    state,  // same as store.state, or local state if in modules 
    rootState, // same as store.state, only in modules 
    commit,  // same as store.commit 
    dispatch, // same as store.dispatch 
    getters, // same as store.getters, or local getters if in modules 
    rootGetters // same as store.getters, only in modules 
} 
+0

このリストはあります、ありがとう! ドキュメントでは、「モジュールを後で導入するとき」の行を参照していますが、「後で」を見つけることができませんでした。 私はソースで少し失われていますが、それはまた、有用です。 基本的には、Vuexによって作成されている別のオブジェクトで、インスタンスの機能の一部をエミュレートして、そのプロパティ/メソッドを別の場所で使用できるようにしていますか? (別の言葉で言えば、私を修正してください)。 – Kobi

+1

私は単に現在のモジュールにスコープされたショートカットを持つオブジェクトを言うので、それを検索する必要はなく(名前を知ることさえできません)。例えば ​​'$ store [moduleName] .state'の代わりに' context.state'や 'state'を直接使用することもできます:) – rayfranco

+0

@Kobiはあなたの問題を解決したら回答を選択することを検討してください。ありがとう。 – rayfranco

1

、私は私はあなたはあまりそれに読んでいると思います...

をパターンとして「コンテキストオブジェクト」上〜8.5歳投稿夫婦を発見しました。

私は、Vuexのドキュメントが、他の場所でも定義されている特定の種類の「コンテキストオブジェクト」を参照しているとは思わないが、アクションハンドラに渡されるオブジェクト(およびドキュメント)は、カスタムオブジェクトです。は、独自の定義によって「コンテキスト」オブジェクトと呼ばれます。

このオブジェクトを提供するのは、特定のアクションハンドラのmoduleに固有のプロパティが含まれているためです。

+0

多く。 "良い明確化は、ありがとう!はい、関連する説明を検索しようとしていました。確かに間違った道を下りたくない。 [それはテキストでそのようにオフになる場合には、風刺はありません。] – Kobi

関連する問題