$emit 是 Vue.js 中一個重要的操作,它用來在父組件和子組件之間傳遞信息。在使用 $emit 時,需要在父組件中定義一個自定義事件和處理事件的方法,并在子組件中調用 $emit 方法來觸發自定義事件。
下面是一個簡單的例子,來展示 $emit 的使用方法:
// 父組件 template <template> <div> <child-component @custom-event="handleEvent"></child-component> </div> </template> // 父組件 script <script> import ChildComponent from './ChildComponent.vue'; export default { name: 'ParentComponent', components: { ChildComponent }, methods: { handleEvent(data) { // 處理自定義事件所傳遞的數據 console.log(data); } } } </script> // 子組件 template <template> <div> <button @click="sendMessage">Send Message</button> </div> </template> // 子組件 script <script> export default { name: 'ChildComponent', methods: { sendMessage() { // 觸發自定義事件并傳遞數據 this.$emit('custom-event', 'Hello, Parent Component!'); } } } </script>
在這個例子中,父組件定義了一個名為“custom-event”的自定義事件,并且在子組件中使用 $emit 方法觸發了這個事件,并傳遞了一個字符串作為數據。父組件中的 handleEvent 方法接收到了這個數據,并進行了處理,最終在控制臺中輸出了這個字符串。
總之,$emit 可以讓父組件和子組件之間傳遞信息,這對于組件之間的通信非常有用。