Vue: Izinkan mendefinisikan ketergantungan injeksi opsional dengan nilai default

Dibuat pada 13 Jul 2017  ·  3Komentar  ·  Sumber: vuejs/vue

Masalah apa yang dipecahkan oleh fitur ini?

Dalam hal komponen yang dapat bekerja baik sebagai mandiri maupun sebagai anak-anak, alangkah baiknya jika dapat memberikan nilai default untuk dependensi yang tidak disediakan.
Itu juga akan menghindari peringatan untuk injeksi yang hilang jika ini adalah salah satu kasus penggunaan yang diharapkan.

Seperti apa tampilan API yang diusulkan?

menyuntikkan: Array| { [kunci: string]: string | Simbol | { nama: string | Simbol, default: sembarang } }

feature request in review

Komentar yang paling membantu

Saya sedang mengerjakan pustaka komponen yang menggunakan menyediakan dan menyuntikkan komponen tertentu untuk berperilaku/terlihat sedikit berbeda ketika dalam konteks komponen lain dari perpustakaan. Karena komponen kami digunakan oleh insinyur lain untuk pengembangan, peringatan bahwa injeksi tidak ditemukan terus muncul di lingkungan mereka.

Ingin fitur ini diterapkan. Dan untuk menambahkannya, seperti yang disebutkan dalam https://github.com/vuejs/vue/issues/6137 , saya ingin melihat atribut required untuk menunjukkan apakah injeksi diperlukan atau opsional.

Semua 3 komentar

Ikut dengan permintaan ini. Apa yang biasanya saya lakukan adalah mengganti properti yang disuntikkan sebagai data untuk memberikan default:

inject: [
  'foo'
],
data () {
  return {
    foo: this.foo || 'default'
  }
}

Saya juga memberi +1 untuk fitur ini. Saat ini saya memiliki komponen yang bersarang di dalam satu sama lain dan orang tua memberikan info kepada anak-anak. Peringatan selalu muncul untuk komponen root karena tidak memiliki penyedia untuk properti yang disuntikkan.

Kasus penggunaan khusus: pemisah tata letak bersarang.

Saya sedang mengerjakan pustaka komponen yang menggunakan menyediakan dan menyuntikkan komponen tertentu untuk berperilaku/terlihat sedikit berbeda ketika dalam konteks komponen lain dari perpustakaan. Karena komponen kami digunakan oleh insinyur lain untuk pengembangan, peringatan bahwa injeksi tidak ditemukan terus muncul di lingkungan mereka.

Ingin fitur ini diterapkan. Dan untuk menambahkannya, seperti yang disebutkan dalam https://github.com/vuejs/vue/issues/6137 , saya ingin melihat atribut required untuk menunjukkan apakah injeksi diperlukan atau opsional.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat