#このチュートリアルの動作環境: Windows7 システム、vue3 バージョン、DELL G3 コンピューター。vue3 は、セキュリティが低いため、グローバル イベント バスをキャンセルしました。グローバル イベント バスは、グローバルな任意のコンポーネントの通信テクノロジです。つまり、任意のコンポーネント間の通信を実現できます。 vue3 でグローバルイベントバスを使用したい場合は、サードパーティライブラリの mitt または tiny-emitter を導入する必要があります。
vue3 は、セキュリティが低いため、グローバル イベント バスをキャンセルしました。
名前が示すように、任意のコンポーネント間の通信を実現できます。
その通信はパペット (すべてのコンポーネントからアクセスできるパペット) を通じて行われ、vue では
$busという名前が付けられます。 vue2エントリ ファイル mian.js でライフ サイクル フックを直接使用できます
beforecreated 直接作成します
$bus<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:js;toolbar:false;">beforeCreate() {
Vue.prototype.$bus = this
}</pre><div class="contentsignin">ログイン後にコピー</div></div>
を記述してください。 使用する場合:
フック バインディング イベント モニタリングを使用します
mounted() { this.$bus.$on('hello',(data) => { console.log(data); }) },
methods: { sendStudentName(){ this.$bus.$emit('hello',this.name) } },
vue3
mitt または tiny-emitter1. mitt ライブラリをインストールします
beforeDestroy() { this.$bus.$off('hello') },
ファイルに名前を付けるのが最善です。たとえば、
eventBus.js
npm i mitt -s
//导入 import mitt from 'mitt'; //定义,定义也最好见名知义 const emitter = mitt(); //暴露 export default emitter;
setup() でイベント リスナーにバインドされます
import emitter from '../../eventBus'
ここでのアロー関数は通常の関数で置き換えることもできます
3) Send Data は、データ コンポーネントがトリガーされたときに送信できます。コンポーネントが破棄された場合はイベントをアンバインドします
setup(){ emitter.on('event',(info) => { ... }) return{} }
通常の関数を使用する場合は第二引数に関数を入れますが、アロー関数の場合は記述する必要はありません。上記と同様 onEvent
[関連する推奨事項: vuejs ビデオ チュートリアル
、
]
以上がvueイベントバスは廃止されるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。