Rumah  >  Soal Jawab  >  teks badan

Penggantian kaedah "memancarkan" dalam Vue

Vue merungut apabila saya menggunakan "emit" Saya sedang mencari setara secara berfungsi alternatif

Ini akan menjadi senarai tugasan

Kod:

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

Amaran dalam konsol penyemak imbas:

runtime-core.esm-bundler.js?5c40:38 [Vue warn]: Pendengar peristiwa tidak dipancarkan yang tidak berkaitan (deleteTodoEvent) telah dihantar kepada komponen tetapi tidak boleh diwarisi secara automatik kerana komponen itu memaparkan serpihan atau nod akar teks. Jika pendengar hanya digunakan sebagai pendengar acara tersuai komponen, isytiharkannya menggunakan pilihan "emis". di <ToDos todoEntries= (9) [Agent,Agent,Agent,Agent,Agent,Agent,Agent,Agent,Agent] onDeleteTodoEvent=fn<bound deleteToDoItem>

P粉668019339P粉668019339213 hari yang lalu303

membalas semua(1)saya akan balas

  • P粉178132828

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

    Nampaknya anda sedang menggunakan Vue 3. Amaran memberitahu anda bahawa acara itu tidak diisytiharkan sebelum ia digunakan dalam komponen. Berikut adalah contoh:

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

    balas
    0
  • Batalbalas