21日間でVueフレームワーク技術を完璧に完成(1日目)

1691 ワード

1、Vueは本質的に構造関数であり、newでしか呼び出せない
function Vue (options) {
    //          Vue()   ,    new        
    if (!(this instanceof Vue)) {
        warn('Vue is a constructor and should be called with the `new` keyword');
    }
    this._init(options);
}
return Vue;

2、Vueには5つのプロトタイプ属性とメソッドinitメソッド(内部メソッド):initMixin(Vue)データ相関:stateMixin(Vue)イベント相関:eventsMixin(Vue)ライフサイクル相関:lifecycleMixin(Vue)レンダリング相関:renderMixin(Vue)
3、Vueの静的属性と方法の配置方法:Vue.config()内部工具方法:Vue.util()Vue.set()Vue.delet()Vue.nextTick()Vue.use()Vue.mixin()拡張サブクラスコンストラクタ:Vue.extend()デフォルトオプション:Vue.components,Vue.directive,Vue.filter
4、VueコンストラクタのデフォルトオプションVueデフォルトオプションは静的optionsプロパティに保持され、4つのデフォルトオプションがあります:components:keepAlive、transition、transitionGroupの内蔵コンポーネントdirective:v-model、v-showなどのfilter:フィルタ、デフォルト値がありませんベース:自己コンストラクタ、すなわちVueを返す.options._base = Vue;
5、インスタンス化Vueの核心操作は原型上の_を実行することである.Initメソッドによる初期化には,オプションマージ構成,ライフサイクルの初期化,イベントの初期化,データの初期化などが含まれる.最初のステップも重要なステップは、オプションのマージです.オプションマージの本質は,ユーザ自身が渡すoptionsオプションとVueコンストラクション関数自身のオプション構成マージである.
6、オプションの合併過程で規範検証components規範検査を行う必要がある
        ,  :      html     ( :img,p),           。

props仕様検査
     { props: ['a', 'b', 'c'] },
     { props: { a: { type: 'String', default: 'prop  ' } }} 

両方の形式は最終的にオブジェクトの形式inject仕様検査に変換されます
      ,provide/inject       ,                 /  

义齿
        ,vue         bind, inserted, update, componentUpdated, unbind

7.サブクラスコンストラクタVueはVueを提供する.extendの静的メソッド.ベースのVueコンストラクタに基づいて「サブクラス」を作成します.このサブクラスが渡すオプション構成は、親のオプション構成とマージされます.