Saya mempunyai laluan berikut
export const personRoutes: RouteRecordRaw[] = [ { laluan: '/orang/:id?/:handedSlug?', nama: 'Orang', komponen: () => import('./view/person'), }, ];
Saya mempunyai kaedah yang menerima syarat penapis dan mengemas kini laluan:
updateRoute(): void { penapis const = this.filters; penghala const = ini.$router; router.push({ nama: 'Orang', params: { id: filters.getId(), handedSlug: filters.handedSlug(), }, }); },
Masalah yang saya hadapi ialah jika id adalah batal dan diserahkan ditetapkan, URL yang dikembalikan ialah: person/handedValue dan apa yang saya perlukan ialah person/all/handedValue.
Jika parameter berikut dalam URL ditetapkan, bagaimana untuk menetapkan nilai lalai untuk parameter pilihan?
Saya rasa tidak ada cara sedemikian pada masa ini, tetapi jika ada, ia tidak boleh dianggap sebagai pilihan. Saya syorkan hanya menghantar rentetan 'semua' jika filters.getId() kosong.
updateRoute(): void { const filters = this.filters; const router = this.$router; let routeId = filters.getId() if (!routeId && filters.handedSlug()) { routeId = 'all' } router.push({ name: 'Person', params: { id: routeId, handedSlug: filters.handedSlug(), }, }); },