Vuex 0.6.x から 1.0 への移行
Vuex 2.0 がリリースされましたが、このガイドでは 1.0 への移行についてのみ説明します。これはタイプミスですか?なお、Vuex 1.0と2.0も同時にリリースされるようです。これはどうなっているでしょうか?どれを使用すればよいですか?また、どれが Vue 2.0 と互換性がありますか?
Vuex 1.0 と 2.0 は次のとおりです:
どちらも Vue 1.0 と 2.0 を完全にサポートします
当面はサポートを維持します
ただし、ターゲット ユーザーは少し異なります。
Vuex 2.0 は根本から再設計され、新しいプロジェクトを開始するユーザーや、クライアント側の状態で最先端のテクノロジーを管理したいユーザーを支援するクリーンな API を提供します。 この移行ガイドでは Vuex 2.0 関連のコンテンツはカバーされていません ため、さらに詳しく知りたい場合は、Vuex 2.0 ドキュメントを確認してください。
Vuex 1.0 は主に下位互換性があるため、アップグレードにはわずかな変更のみが必要です。大規模な既存のコード ベースを持つユーザー、またはできるだけスムーズに Vue 2.0 にアップグレードしたいユーザーにお勧めします。このガイドはこのプロセスを容易にすることを目的としていますが、移行手順のみが含まれています。完全な使用ガイドラインについては、Vuex 1.0 ドキュメントを参照してください。
#ディレクトリ
#store.watch を文字列属性パスに置き換えます
#store.watch
関数のみを受け入れるようになりました。したがって、次の例では、store.watch('user.notifications', callback)
を
に置き換える必要があります。これにより、監視する必要がある応答性のプロパティをより完全に制御できます。 store.watch(
// 当返回结果改变...
function (state) {
return state.user.notifications
},
// 执行回调函数
callback
)
コード ベースで 移行ツール を実行し、
で見つけます。 store.watch#ストアのイベント トリガー削除
ストア インスタンスは公開されなくなりましたイベント エミッター インターフェイス (
on、
off、
emit)。以前にストアをグローバル イベント バスとして使用していた場合は、移行手順について
この章を参照してください。
store.on('mutation', callback)) を置き換えるには、新しいメソッド
store.subscribeを導入します。プラグインでの一般的な使用法は次のとおりです。
var myPlugin = store => { store.subscribe(function (mutation, state) { // Do something... }) }詳細については、
プラグインのドキュメントの例を参照してください。
アップグレード方法
コード ベースで移行ツールを実行し、ストアを見つけます。 on、
store.off、
store.emit の例。
#ミドルウェア置き換え
ミドルウェアは次のように置き換えられます。プラグイン。このプラグインは、store を唯一のパラメーターとして受け取り、ストア内の変更イベントをリッスンできる基本関数です。const myPlugins = store => { store.subscribe('mutation', (mutation, state) => { // Do something... }) }
詳細については、
プラグインのドキュメントアップグレード方法コード ベースで
移行ツール を実行し、使用されている を見つけます。ミドルウェア オプションの例。