在Vue中,組件之間是通過父子關系進行通信的,而子組件向父組件通信的方式一般是通過在子組件內部使用$emit()方法觸發一個自定義事件,然后在父組件中監聽該事件來進行相應操作。
下面是$emit()的基本語法:
this.$emit('eventName', arg1, arg2, ...);
其中,eventName表示自定義事件的名稱,arg1、arg2等是可選的參數,它們將作為事件處理函數的參數傳入。
在子組件中,可以這樣使用$emit()方法:
methods: { handleClick() { this.$emit('customEvent', '參數1', '參數2'); } }
這里的customEvent就是自定義事件的名稱,'參數1'和'參數2'是傳給事件處理函數的參數。
在父組件中,可以這樣監聽該自定義事件:
... methods: { handleCustomEvent(arg1, arg2) { console.log('接收到自定義事件', arg1, arg2); } }
這里的ChildComponent是子組件的名稱,v-on:customEvent表示監聽customEvent自定義事件,handleCustomEvent是處理事件的方法。當自定義事件觸發時,handleCustomEvent方法將被調用,接收到子組件傳來的參數arg1和arg2,并輸出到控制臺上。