パートIはまた、値VUEのコンポーネント、アセンブリと彼の息子、兄弟コンポーネント、祖父母やその他のコンポーネントを個別にまとめ、これは、イベントバスのバスを総括します
vuex(モーメントの簡単な理解は、特定の文言は、教えてくださいどのようなネットワーク:https://vuex.vuejs.org/)、スロットの使用。
任意の2つの構成要素間:イベントバスまたはvuex
イベントバス:バスは、責任のイベントの進行を作成し、モニターし、コールバックを管理します
//バス:イベントディスパッチ、監視、およびコールバック管理 クラスバス{ コンストラクタ(){ this.callbacks = {} } (名前、FN)上の$ { this.callbacks [名] = this.callbacks [名前] || [] this.callbacks [名前] .push(FN) } $ EMIT(名前、引数){ IF(this.callbacks [名]){ this.callback [名前] .forEach(CB => CB(引数)) } } }
//Main.js
Vue.prototype。$新新しいバスバス=()
// child1の
本。バス$。$ ON( 'foo'で、ハンドル)
// child2の
本。バス$。$ EMIT( 'FOO')
PS :Vueの練習は、代わりにバスを使用することができます。それは、対応する機能を実現していますので
Vuex:管理データとコンポーネントのステータス変更通知を通じて、ユニークなグローバルデータマネージャストアを作成します。
スロット
スロット文法が複合コンポーネントの開発のため、Vueのコンテンツ配信APIを実装している、技術が汎用コンポーネントライブラリの開発における多数のアプリケーションを持っています
新しい文法V-スロット、スロット範囲によって置き換え前のスロットを使用した後vue2.6.0
匿名スロット
コンテンツ//子サブコンポーネントは、親コンポーネント分布を提供します <P> <スロット> </スロット> </ P>
//親親要素の提供
<子>こんにちは</子供>
名前付きスロット
指定された場所のサブコンポーネントへのコンテンツ配信
//子 <div> <スロット> </スロット> <スロット名= "centent"> </スロット> </ div> //親 <子> <! - スロットのデフォルトのパラメータは、デフォルトで行います - > <テンプレートV-スロット:デフォルト>という名前のスロット</テンプレート> <! - という名前のスロットがスロットパラメータ名を指定してください - > <テンプレートV-スロット:centent>内容...... </テンプレート> </子供>
スコープスロット
コンテンツデータを配信するサブアセンブリ(サブアセンブリプロセスは親コンポーネント内で必要とされる、からのデータ)を使用します
//子 <div> <スロット:FOO = "FOO"> </スロット> </ div> //親 <子> <テンプレートV-スロット:デフォルト= "slotProps"> サブアセンブリからのデータ:{{}} slotProps.foo </テンプレート>
<! -直接解体することができます- >
<テンプレートVスロット:デフォルト= "{FOO}">サブアセンブリからのデータ:{{FOO}} </テンプレート>
</子供>