日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

vue 組件之間事件觸發($emit)與event Bus($on)的用法說明

瀏覽:25日期:2022-12-25 09:42:15

組件之間事件觸發

之前使用組件,并不是很頻繁,是水平的問題,目前工作中,公司大佬帶著我手寫過一個組件,再此很感謝他的指導。目前簡單的組件已經有了自己的邏輯思維,正在從低級碼農向中級碼農蛻變。廢話不多說。上圖看看組件情況。

vue 組件之間事件觸發($emit)與event Bus($on)的用法說明

新增按鈕組件:

vue 組件之間事件觸發($emit)與event Bus($on)的用法說明

操作按鈕組合組件:

vue 組件之間事件觸發($emit)與event Bus($on)的用法說明

此時有個需求就是,無論是哪個按鈕,如果改變了列表中的數據,列表需要實時更新數據。

此時就需要用到組件間的事件觸發。

父子組件之間事件觸發可以使用$emit

$emit的使用方法如下:

在子組件中,寫一個click點擊事件。比如:

cancelCU() { this.dialogVisible = false; this.$emit(’closeAdd’)}

然后在父組件中子組件上,添加一個 @closeAdd='closeAddClick',closeAddClick函數就是執行了。

新增按鈕可以使用這種方式。但是操作按鈕組合中的組件,就屬于孫子組件了,孫子組件執行click事件,列表數據需要刷新,此時通過孫子組件觸發父組件事件,父組件觸發爺爺組件,就比較麻煩了,此時可以通過event bus實現跨組件的事件觸發了。

具體使用方法如下:

第一步:

新建一個js文件,來創建出我們的eventBus,我們把它命名為bus.js

內容如下:

import Vue from ’vue’;

export default new Vue();

第二步:

在孫子組件和爺爺組件中,都需要引入這個bus.js

import Bus from ’common/js/bus.js’;

孫子組件執行方法如下:

addCart(event) { //如果傳遞參數的話,可以如下這樣寫 Bus.$emit(’getTarget’, event.target); //如果不傳遞參數可以如下; Bus.$emit(’getTarget’);}

這里我們在click組件中每次點擊,都會在bus中觸發這個名為’getTarget’的事件,并將點擊事件的event.target順著事件傳遞出去。

接著,我們要在show組件中的created()鉤子中調用bus監聽這個事件,并接收參數:

created() { //如果傳遞參數的話,爺爺組件需要這樣接收 Bus.$on(’getTarget’, target => { console.log(target); }); //如果不傳遞參數的話,則可以如下處理 Bus.$on(’getTarget’,()=>{ //此處執行對應的函數操作 })}

這樣,在每次click組件的點擊事件中,就會把event.target傳遞到show中,并console出來。

所以eventBus的使用還是非常便捷的,但是如果是中大型項目,通信比較復雜,還是建議大家直接使用vuex。

補充知識:vue 2 使用Bus.js進行兄弟(非父子)組件通信 簡單案例

vue2中廢棄了$dispatch和$broadcast廣播和分發事件的方法。父子組件中可以用props和$emit()。如何實現非父子組件間的通信,可以通過實例一個vue實例Bus作為媒介,要相互通信的兄弟組件之中,都引入Bus,之后通過分別調用Bus事件觸發和監聽來實現組件之間的通信和參數傳遞。

首先需要在任意地方添加一個bus.js

vue 組件之間事件觸發($emit)與event Bus($on)的用法說明

在bus.js里面 寫入下面信息

import Vue from ’vue’

export default new Vue;

vue 組件之間事件觸發($emit)與event Bus($on)的用法說明

在需要通信的組件都引入Bus.js

如果你的bus.js是自定義一個bus的文件那from后面就改成你的所放的位置

import Bus from ’./bus.js’

vue 組件之間事件觸發($emit)與event Bus($on)的用法說明

接下來就是要組件通信了

添加一個 觸發 #emit的事件按鈕

<template> <div id='emit'> <button @click='bus'>按鈕</button> </div> </template> import Bus from ’./bus.js’ export default { data() { return { message: ’’' } },methods: { bus () { Bus.$emit(’msg’, ’我要傳給兄弟組件們,你收到沒有’) } }}

打開要和$emit通信的另外一個組件 添加

vue 組件之間事件觸發($emit)與event Bus($on)的用法說明

在鉤子函數中監聽msg事件

<template> <div id='on'> <p>{{message}}</p> </div></template>import Bus from ’./bus.js’export default { data() { return { message: ’’ } }, mounted() {let self = this Bus.$on(’msg’, (e) => { self.message = e console.log(`傳來的數據是:${e}`) }) } }

最后p會顯示來自$emit傳來的信息

以上這篇vue 組件之間事件觸發($emit)與event Bus($on)的用法說明就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Vue
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久久久久久欧美精品| 亚洲欧洲另类| 99久久久久久中文字幕一区| 久久精品资源| 精品久久久中文字幕| 国产欧美日本| 国产精品日韩精品在线播放| 国产精品手机在线播放| 国产日韩精品视频一区二区三区| 国产精品一区二区av交换| 日韩高清二区| 欧美极品中文字幕| 日韩中文欧美| 黄色不卡一区| 日韩和的一区二在线| 成人在线免费观看91| 欧美另类综合| 免费观看久久久4p| 蜜桃久久久久久| 日本91福利区| 精品午夜久久| 久久婷婷av| 美女精品在线观看| 91精品国产自产在线丝袜啪| 麻豆91在线播放| 色综合www| 丝袜美腿亚洲一区| 欧美天堂一区二区| 成人在线视频免费| 日韩亚洲国产欧美| 欧美一区二区三区免费看| 久久久久九九精品影院| 精品日韩视频| 欧美专区18| 国产精品欧美在线观看| 国产 日韩 欧美一区| 午夜宅男久久久| 国产精品视频一区视频二区| 成人看片网站| 中文字幕av一区二区三区人| 你懂的亚洲视频| 欧美 日韩 国产一区二区在线视频 | 欧美日韩夜夜| 激情综合婷婷| 亚洲少妇诱惑| 欧美国产精品| 国精品一区二区| 欧美亚洲福利| 国产99久久| 日韩av电影一区| 精品日韩视频| 国产欧美日韩免费观看| 久久国产亚洲| 日韩福利在线观看| 久久天堂精品| 国产女人18毛片水真多18精品| 日韩在线欧美| 日韩精品一区二区三区免费视频| 国产精品欧美一区二区三区不卡| 婷婷激情综合| 麻豆91小视频| 视频一区中文字幕| 精品国产不卡一区二区| 亚洲女人av| 日本一区二区高清不卡| 蜜臀va亚洲va欧美va天堂| 国产精品毛片一区二区在线看| 丝袜美腿成人在线| 欧洲av不卡| 国产情侣一区| 老色鬼久久亚洲一区二区| 国产精品99一区二区三| 日本亚洲欧洲无免费码在线| 日韩国产一区| 国产精品资源| 美国三级日本三级久久99 | 在线国产一区| 国产一区二区三区精品在线观看| 亚洲欧洲国产精品一区| 久久久久久久久99精品大| 欧美亚洲二区| 99视频+国产日韩欧美| 精品国产乱码久久久| 亚洲精品看片| 欧美日韩视频| 日韩欧美自拍| 精品国产aⅴ| 日韩国产欧美三级| 亚洲综合日本| 国精品一区二区三区| 高清不卡一区| 国产人成精品一区二区三| 亚洲精品影院在线观看| 国产精品普通话对白| 啪啪国产精品| 国产一区二区三区久久 | 日韩中出av| 免费精品视频| 欧美另类专区| 极品裸体白嫩激情啪啪国产精品| 精品国产不卡| 久久亚洲人体| 国产精品欧美在线观看| 日本精品久久| 日本亚洲三级在线| 中文字幕日韩欧美精品高清在线| 欧美天堂亚洲电影院在线观看| 日韩高清中文字幕一区二区| 国产精品网址| 国产伦精品一区二区三区千人斩 | 国产一区 二区| 日本成人中文字幕在线视频| 亚洲丝袜美腿一区| 日韩精品一二三| 日韩影院精彩在线| 午夜一级久久| 日韩中文字幕亚洲一区二区va在线| 欧美日韩国产亚洲一区| 国产一区日韩一区| 99精品在线观看| 亚洲h色精品| av在线日韩| 国产综合亚洲精品一区二| 亚洲电影在线一区二区三区| 欧美日韩黑人| 亚洲欧美视频一区二区三区| 国产精品色网| 亚洲一区二区av| 日本不卡一二三区黄网| 日韩一区中文| 国产剧情在线观看一区| 国产乱码精品一区二区亚洲| 久久亚洲人体| 日韩黄色大片| 精品欧美久久| 亚洲影视一区| 蜜臀国产一区二区三区在线播放| 亚洲有吗中文字幕| 日本午夜精品久久久| 国产极品模特精品一二| 久久99影视| 国产精品成久久久久| 日韩不卡免费高清视频| 欧美中文一区二区| 亚洲免费影院| 欧美日本不卡| 国产+成+人+亚洲欧洲在线| 久久国产精品成人免费观看的软件| 国产美女一区| 国产日韩欧美三级| 亚洲黄色免费av| 国产伊人精品| 日韩一区二区三区在线看| 欧美黄色一区| 欧洲亚洲一区二区三区| 石原莉奈一区二区三区在线观看| 91精品国产自产精品男人的天堂 | 久久香蕉精品| 国产日韩免费| 亚洲精品一级二级| 亚洲伊人精品酒店| 丰满少妇一区| 99国产成+人+综合+亚洲欧美| 亚洲欧美久久久| 国产欧美高清| 久久蜜桃资源一区二区老牛| 亚洲va久久久噜噜噜久久| 免费在线日韩av| 久久久久免费av| 日韩中出av| 97精品视频在线看| 免费欧美在线视频| 成人午夜网址| 久久国产精品久久久久久电车| 欧美日韩午夜电影网| 三级精品视频| 久久国际精品| 免费观看不卡av| 91亚洲精品在看在线观看高清| 精品国产18久久久久久二百| 91久久久久| 精品欧美视频| 老司机精品久久| 国产乱码午夜在线视频| 中文字幕日韩亚洲| 久久久国产亚洲精品| 色狠狠一区二区三区| 日韩欧美自拍| 久久国产视频网| 欧美 日韩 国产一区二区在线视频 | 亚洲福利一区| 久久99久久久精品欧美| 欧美久久精品一级c片| 青草国产精品久久久久久| 成人精品亚洲| 国产精品密蕾丝视频下载| 欧美午夜不卡| 黄色在线网站噜噜噜| 日韩av影院| 伊人成人在线视频|