搜尋

首頁  >  問答  >  主體

替代Vue中的"emit"方法

當我使用「emit」時,Vue 抱怨我正在尋找一個功能相同的替代方案

這將會是待辦事項清單

程式碼:

<button @click="$emit('delete-todo-event', todo.id)">Button</button>

瀏覽器控制台中的警告:

runtime-core.esm-bundler.js?5c40:38 [Vue warn]:無關的非發出事件偵聽器(deleteTodoEvent)已傳遞給元件,但無法自動繼承,因為元件渲染片段或文字根節點。如果偵聽器僅用作元件自訂事件偵聽器,請使用“emits”選項聲明它。 at <ToDos todoEntries= (9) [代理、代理、代理、代理、代理、代理、代理、代理、代理] onDeleteTodoEvent=fn<bound deleteToDoItem> > at <App>

P粉668019339P粉668019339256 天前342

全部回覆(1)我來回復

  • P粉178132828

    P粉1781328282024-03-20 13:18:03

    您似乎正在使用 Vue 3。警告告訴您在元件中使用事件之前沒有聲明事件。這是一個例子:

    export default {
      name: "YourComponent",
      emits: ["deleteTodoEvent"], // <--- this is what the warning in hinting to
      setup(_,{ emit }) {
        ...
      },
    };

    回覆
    0
  • 取消回覆