Heim  >  Fragen und Antworten  >  Hauptteil

Ersetzung der „emit“-Methode in Vue

Vue beschwert sich, wenn ich „emit“ verwende, ich suche nach einer funktionell gleichwertigen Alternative

Das wird eine To-Do-Liste

Code:

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

Warnung in der Browserkonsole:

runtime-core.esm-bundler.js?5c40:38 [Vue-Warnung]: Ein unabhängiger, nicht ausgegebener Ereignis-Listener (deleteTodoEvent) wurde an die Komponente übergeben, kann aber nicht automatisch geerbt werden, da die Komponente ein Fragment oder einen Textstammknoten rendert. Wenn der Listener nur als benutzerdefinierter Ereignis-Listener einer Komponente verwendet werden soll, deklarieren Sie ihn mit der Option „emis“. bei <ToDos todoEntries= (9) [Agent,Agent,Agent,Agent,Agent,Agent,Agent,Agent,Agent] onDeleteTodoEvent=fn<bound deleteToDoItem> >

P粉668019339P粉668019339213 Tage vor304

Antworte allen(1)Ich werde antworten

  • 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 }) {
        ...
      },
    };

    Antwort
    0
  • StornierenAntwort