Vue: Scoped Slot memperingatkan saat digunakan di dalam komponen dinamis pada elemen reguler

Dibuat pada 13 Jun 2019  ·  4Komentar  ·  Sumber: vuejs/vue

Versi: kapan

2.6.10

Tautan reproduksi

https://jsfiddle.net/mybeta/1dfwsazn/

Langkah-langkah untuk mereproduksi

Ketika saya menggunakan Peringatan Parsing Template DOM untuk menambahkan komponen (mis. <tr is="custom-row"> ) Saya tidak dapat menggunakan slot terbatas (slotProps) tanpa menerima peringatan di konsol. Saya ingin menggunakannya dengan cara ini:

<tr is="custom-row" v-slot="slotProps">
    slotProps: {{slotProps.test}}
</tr>

Apa yang diharapkan?

Tanpa peringatan.

Apa yang sebenarnya terjadi?

Saya mendapatkan peringatan berikut di konsol.

[Vue warn]: Error compiling template:
v-slot can only be used on components or <template>.

Sisanya sepertinya berfungsi seperti yang diharapkan.

bug contribution welcome good first issue has PR warnings

Komentar yang paling membantu

Saya memperbarui komentar saya tetapi peringatan itu tampaknya tetap muncul, peringatan itu memang seharusnya tidak muncul

Semua 4 komentar

Seperti peringatan yang mengatakan v-slot hanya dapat digunakan pada komponen pembungkus atau bersarang dalam komponen itu sendiri tetapi pada tag template .
Sebelumnya, slot-scope akan mengizinkan penggunaan ini tetapi telah dihapus, Anda dapat memeriksa RFC: https://github.com/vuejs/rfcs/blob/master/active-rfcs/0001-new-slot- sintaks.md.

Jika Anda hanya memiliki satu slot terbatas, Anda harus bisa melakukannya

<tr :is="customComp" v-slot="data"></tr>

Hai @posva , terima kasih banyak atas komentar Anda!

Seperti yang disarankan, saya juga mencoba menggunakan v-slot bersarang di dalam tag template , seperti di bawah ini.

<div is="test-component">
  <template v-slot:default="slotProps">
    slotProps: {{slotProps.test}}
  </template>
</div>

Namun itu juga menghasilkan peringatan, lihat biola:
https://jsfiddle.net/mybeta/bhcoLwu3/

Saat menghindari peringatan penguraian template DOM, ini berfungsi dengan baik:

<test-component>
  <template v-slot:default="slotProps">
    slotProps: {{slotProps.test}}
  </template>
</test-component>

tapi saya yakin saya perlu menggunakan peringatan tersebut, saat menggunakan komponen pada tag tr .

Juga, maukah Anda menjelaskan komentar ini sedikit lagi?

Jika Anda hanya memiliki satu slot terbatas, Anda harus bisa melakukannya

Terima kasih!

Saya memperbarui komentar saya tetapi peringatan itu tampaknya tetap muncul, peringatan itu memang seharusnya tidak muncul

Apa statusnya ini?

Apakah halaman ini membantu?
0 / 5 - 0 peringkat