Maison  >  Questions et réponses  >  le corps du texte

Remplacement de la méthode "emit" dans Vue

Vue se plaint lorsque j'utilise "emit". Je recherche une alternative fonctionnellement équivalente

Cela va être une liste de choses à faire

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

Avertissement dans la console du navigateur :

runtime-core.esm-bundler.js?5c40:38 [Vue warn] : un écouteur d'événement non émis sans rapport (deleteTodoEvent) a été transmis au composant mais ne peut pas être automatiquement hérité car le composant restitue un fragment ou un nœud racine de texte. Si l'écouteur doit être utilisé uniquement comme écouteur d'événements personnalisés de composant, déclarez-le à l'aide de l'option "emis". à <ToDos todoEntries= (9) [Agent,Agent,Agent,Agent,Agent,Agent,Agent,Agent,Agent] onDeleteTodoEvent=fn<bound deleteToDoItem>

P粉668019339P粉668019339213 Il y a quelques jours302

répondre à tous(1)je répondrai

  • P粉178132828

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

    Il semble que vous utilisez Vue 3. L'avertissement vous indique que l'événement n'est pas déclaré avant d'être utilisé dans le composant. Voici un exemple :

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

    répondre
    0
  • Annulerrépondre