cari

Rumah  >  Soal Jawab  >  teks badan

Tetapkan nilai lalai untuk parameter URL pilihan dalam Penghala Vue sambil mempunyai parameter URL pilihan bebas.

<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>
P粉377412096P粉377412096482 hari yang lalu564

membalas semua(1)saya akan balas

  • P粉785905797

    P粉7859057972023-08-04 12:52:00

    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(),
        },
      });
    }, 

    balas
    0
  • Batalbalas