Tetapkan nilai lalai untuk parameter URL pilihan dalam Penghala Vue sambil mempunyai parameter URL pilihan bebas.
P粉377412096
2023-08-03 19:31:32
<p>Saya mempunyai laluan berikut</p>
<pre class="brush:php;toolbar:false;">export const personRoutes: RouteRecordRaw[] = [
{
laluan: '/orang/:id?/:handedSlug?',
nama: 'Orang',
komponen: () => import('./view/person'),
},
];</pre>
<p>Saya mempunyai kaedah yang menerima syarat penapis dan mengemas kini laluan: </p>
<pre class="brush:php;toolbar:false;">updateRoute(): void {
penapis const = this.filters;
penghala const = ini.$router;
router.push({
nama: 'Orang',
params: {
id: filters.getId(),
handedSlug: filters.handedSlug(),
},
});
},</pre>
<p>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. <br /><br />Jika parameter berikut dalam URL ditetapkan, bagaimana untuk menetapkan nilai lalai untuk parameter pilihan? </p><p><br /></p>
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(), }, }); },