Vuexソース学習(三)installはどんなことをしましたか.


各位の见官は脉络の整理を见たことがないのは先にVuexのソースコードを読んで(2)脉络の整理を学ぶことができます.
なぜinstall関数があるのか
VueプラグインはどのようにVueに登録されますか?useの使用
//          :
Vue.use(Vuex);
//      Vuex install  。

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コンストラクション関数の前後順序
  • 先登録後インスタンス化:
  • 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
  • 判断バージョン、Vue 2.0以上使用ライフサイクル、Vue 1.0はVueを使用する.protoType.init
  • マウント完了
  • 私はVue 1を使ったことがありません.0バージョンなので、Vue 2についてです.0バージョンで説明しましょう.
    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
        }
    }

    まとめ
  • install関数の意味?Vuexに登録するときは、Vueが使用するためにこの方法を暴露しなければなりません.
  • install関数は何をしましたか?Vuexが登録されているかどうかを判断する、登録したら登録しない、Vue 2.0各VueコンポーネントのbeforeCreateライフサイクルにvuexInit関数を追加し、各Vueコンポーネントに$storeオブジェクトをマウントし、すべてVuexのStoreインスタンス化されたオブジェクトを指します.

  • 次の章では、ModuleCollectionクラスが何をしたかについて説明します.