問題タブ [vuex]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vuex - Vuex で非同期呼び出しを行う
ここで Vuex を学び始めたところです。今までは共有データをstore.js
ファイルに保存store
してモジュールごとにインポートしていたのですが、これが面倒くさくて状態の変化が気になります。
私が苦労しているのは、Vuex を使用して firebase からデータをインポートする方法です。私が理解していることから、アクションのみが非同期呼び出しを行うことができますが、ミューテーションのみが状態を更新できますか?
現在、ミューテーション オブジェクトから firebase を呼び出していますが、正常に動作しているようです。正直なところ、すべてのコンテキスト、コミット、ディスパッチなどは少し過負荷に思えます。生産性を高めるために必要な最小限の Vuex を使用できるようにしたいと考えています。
ドキュメントでは、以下のようにミューテーションオブジェクトの状態を更新するコードを記述し、それをcomputed
プロパティのコンポーネントにインポートしてから、を使用して状態の更新をトリガーできるようstore.commit('increment')
です。これは Vuex を使用するために必要な最小量のように思えますが、アクションはどこから来るのでしょうか? 混乱しています:(これを行うための最良の方法またはベストプラクティスに関するヘルプをいただければ幸いです!
私のコードは以下です
store.js
main.js
App.vue
vue.js - VueJSは親から子コンポーネントのデータにアクセスします
webpackに vue-cli scaffold を使用しています
現在、私の Vue コンポーネントの構造/階層は次のようになっています。
- アプリ
- PDF テンプレート
- バックグラウンド
- ダイナミック テンプレート イメージ
- 静的テンプレート イメージ
- マークダウン
- PDF テンプレート
アプリ レベルでは、子コンポーネントのすべてのデータをサーバーに送信できる単一の JSON オブジェクトに集約できる vuejs コンポーネント メソッドが必要です。
子コンポーネントのデータにアクセスする方法はありますか? 具体的には、複数のレイヤーが深いですか?
そうでない場合、監視可能なデータ/パラメーターを渡すためのベストプラクティスは何ですか?子コンポーネントによって変更されたときに新しい値にアクセスできるようにしますか? コンポーネント間の強い依存関係を避けようとしているので、現時点では、コンポーネント属性を使用して渡されるのは初期化値だけです。
アップデート:
確かな答え。両方の回答を確認した後に役立つリソース:
vue.js - VuexFire ミューテーション
VuexFire Vuex v2 を使用したことがある人向け。ここで何をmutations: VuexFire.mutations
指していますか?答えは明白かもしれませんが、それが何を意味するのかわかりません。私の実際の突然変異はどこに行きますか?現在 Vuex v1 を使用していますが、問題なく動作しているようですが、Vuex v2 を使用するようにアップグレードしたいと考えています。ありがとう!
meteor - Akryum:Vuex マップされたアクションは関数ではありません (typeError)
メソッドとしての「this.actionName」はconsole.logで定義されていませんが、エラーメッセージにはtypeErrorであり、関数ではないことが示されています。私は流星フレームワークを使用しており、vuex のカスタム実装を使用しています。
私が関連すると思ったもののheresペーストビン: http://pastebin.com/zGfuqwxw
javascript - Vuex ストアのいずれかのミューテーションから commit を呼び出すことはできますか
次のようなvuexストアがあります。
SET_CATEGORIES
Mutation:から Mutation:を呼び出したいのですがSET_PRODUCTS
、これによりエラーが発生します:
projectFilter.js:22 Uncaught (in promise) ReferenceError: コミットが定義されていません(…)
これを行う正しい方法は何ですか。store.commit
とを試しthis.commit
ましたが、これらも同様のエラーを出しました。
javascript - [Vue.js]vuex での名前空間
モジュールの getter、mutation、actions に名前を付けようとしています。
そして、モジュール化されたゲッター、ミューテーションを vue コンポーネントで使用するにはどうすればよいですか?