Vue中的事件是組件之間進行通訊的一種方式。在Vue組件中可以通過$emit方法觸發事件,同時也可以通過v-on指令在組件中監聽事件。當觸發事件時,$emit方法可以傳入任意數量的參數,這些參數將被傳遞給事件的監聽器。
// 觸發事件
this.$emit('my-event', '參數1', '參數2');
// 監聽事件
<my-component @my-event="handleMyEvent"></my-component>
// 監聽方法
methods: {
handleMyEvent: function(param1, param2) {
console.log(param1, param2);
}
}
在監聽事件的方法中,可以通過參數來接收到$emit傳遞的參數。如果有多個參數,可以按照順序進行接收。在組件中監聽事件時也可以使用$event來訪問事件對象,$event會作為最后一個參數傳遞給監聽方法。
// 觸發事件
this.$emit('my-event', '參數1', '參數2');
// 監聽事件
<my-component @my-event="handleMyEvent($event, '固定參數')"></my-component>
// 監聽方法
methods: {
handleMyEvent: function(event, param) {
console.log(param);
console.log(event.target);
}
}
通過使用$event可以在監聽方法中訪問到事件對象,從而獲取事件的相關信息。