Vuexソース学習(三)installはどんなことをしましたか.
各位の见官は脉络の整理を见たことがないのは先にVuexのソースコードを読んで(2)脉络の整理を学ぶことができます.
なぜinstall関数があるのか
VueプラグインはどのようにVueに登録されますか?useの使用
Install関数のコードを見てみましょう
これは全部で2つのことをしました.以下のvuexカードが インストール完了か否かを判断する.本格的なvuexプラグインのインストールを開始する具体的なロジック Vuexがインストールされているかどうかを判断するにはどうすればいいですか?
まず2つの小さな問題を解決します.Vueって何?
_Vueはプラグインを登録する際に渡されるVueコンストラクタで、
なぜVue変数を宣言しますか?Vueという変数を宣言する意味は、Vuex内部にVueという構造関数(Vueフレームワークのコード)を導入せず、Vueを待つことである.use(Vuex)の後に外部から導入されたVueオブジェクトを渡す.Vueオブジェクトへの付与操作はinstall関数内のみであるため、Vue変数は存在し、_に等しい.Vue(この外部から伝達されるVueコンストラクション関数)では、Vuexがinstallを完了したことを表すヒントがあります.
Vuexプラグインの登録とVuexのインスタンス化を検討する.Storeコンストラクション関数の前後順序先登録後インスタンス化:
Vuexのインストール時に具体的に何をしましたか?
インストールが何をしたかapplyMixin関数が何をしたかを見に行きます
じょうふごう
コア->vuexInit判断バージョン、Vue 2.0以上使用ライフサイクル、Vue 1.0はVueを使用する.protoType.init マウント完了 私はVue 1を使ったことがありません.0バージョンなので、Vue 2についてです.0バージョンで説明しましょう.
まとめ install関数の意味?Vuexに登録するときは、Vueが使用するためにこの方法を暴露しなければなりません. install関数は何をしましたか?Vuexが登録されているかどうかを判断する、登録したら登録しない、Vue 2.0各VueコンポーネントのbeforeCreateライフサイクルにvuexInit関数を追加し、各Vueコンポーネントに$storeオブジェクトをマウントし、すべてVuexのStoreインスタンス化されたオブジェクトを指します.
次の章では、ModuleCollectionクラスが何をしたかについて説明します.
なぜinstall関数があるのか
VueプラグインはどのようにVueに登録されますか?useの使用
// :
Vue.use(Vuex);
// Vuex install 。
Install関数のコードを見てみましょう
これは全部で2つのことをしました.
まず2つの小さな問題を解決します.Vueって何?
_Vueはプラグインを登録する際に渡されるVueコンストラクタで、
なぜVue変数を宣言しますか?Vueという変数を宣言する意味は、Vuex内部にVueという構造関数(Vueフレームワークのコード)を導入せず、Vueを待つことである.use(Vuex)の後に外部から導入されたVueオブジェクトを渡す.Vueオブジェクトへの付与操作はinstall関数内のみであるため、Vue変数は存在し、_に等しい.Vue(この外部から伝達されるVueコンストラクション関数)では、Vuexがinstallを完了したことを表すヒントがあります.
Vuexプラグインの登録とVuexのインスタンス化を検討する.Storeコンストラクション関数の前後順序
Vue.use(Vuex)
export default new Vuex.Store({
state : {
tryData : 'recruitment',
},
modules : {
list : moduleList,
set : moduleSet
}
});
//
export default new Vuex.Store({
state : {
tryData : 'recruitment',
},
modules : {
list : moduleList,
set : moduleSet
}
});
Vue.use(Vuex)
//
Vuexのインストール時に具体的に何をしましたか?
インストールが何をしたかapplyMixin関数が何をしたかを見に行きます
じょうふごう
コア->vuexInit
if (version >= 2) {
// 2.0 mixin Vue beforeCreate vuex
Vue.mixin({ beforeCreate: vuexInit })
}
function vuexInit () {
// Vue options
const options = this.$options
// store injection
// options store, new Vue
if (options.store) {
// store $store ,
this.$store = typeof options.store === 'function'
? options.store()
: options.store
} else if (options.parent && options.parent.$store) {
// , $store
// Vue Vue , $store ,
// $store,
// Vue $store ,
// , Vuex store 。
this.$store = options.parent.$store
}
}
まとめ
次の章では、ModuleCollectionクラスが何をしたかについて説明します.