Saya perlu merutekan ke komponen tertentu dengan dua cara - satu dengan param, satu tanpa. Saya telah mencari parameter opsional dan entah bagaimana tidak dapat menemukan banyak info.
Jadi rute saya:
{
path: '/offers/:member',
component: Offers,
name: 'offers',
props: true,
meta: {
guest: false,
needsAuth: true
}
},
Ketika saya menyebutnya dengan param secara terprogram, semuanya baik-baik saja
this.$router.push({ path: /offers/1234 });
Namun saya juga perlu menyebutnya melalui nav seperti ini
<router-link to="/offers">Offers</router-link>
The offers
komponen menerima prop
props: ['member'],
Dan komponen digunakan seperti itu
<Offers :offers="data" :member="member"></Offers>
Sekarang cara jelek saya berhasil membuatnya bekerja adalah menduplikasi rute dan membuat salah satu dari mereka tidak menggunakan alat peraga:
{
path: '/offers',
component: Offers,
name: 'offers',
props: false,
meta: {
guest: false,
needsAuth: true
}
},
Ini benar-benar berfungsi, tetapi saya tidak menyukainya - juga dalam mode pengembang vuejs memperingatkan saya [vue-router] Duplicate named routes definition: { name: "offers", path: "/offers" }
Tentunya ada cara untuk melakukan parameter opsional dalam pemanggilan komponen :member="member"
?
Selain itu, Anda juga dapat mengirim parameter yang berbeda, dari mana Anda memanggil rute Anda.
sumber
Untuk pola pencocokan tingkat lanjut , manual mengatakan :
path-to-regexp halaman / manual => https://github.com/pillarjs/path-to-regexp/tree/v1.7.0#parameters
sumber