Adakah terdapat cara untuk menetapkan prop laluan dalam vue?
P粉919464207
P粉919464207 2024-04-06 11:35:59
0
1
457

Saya mahu menavigasi ke tab tertentu dalam halaman

this.$router.push({
        name: "AdminNotifications",
        params: { tab: "requests" },
      })

Jadi dalam halaman saya boleh mendapatkan parameter dan menetapkan tab:

mounted() {
    const routeTab = this.$route.params.tab;
    if (routeTab) this.tab = routeTab;
  }

Sah jika halaman semasa bukan AdminNotifications.

Tetapi sebagai tambahan, terdapat ralat: NavigationDuplicated:避免了到当前Navigasi Berlebihan

Jadi...adakah cara untuk hanya menetapkan atribut tab tanpa navigasi?

Terima kasih

P粉919464207
P粉919464207

membalas semua(1)
P粉432930081

Jika anda telah mencapai laluan, anda tidak boleh menavigasi ke laluan itu. Tetapi sekarang anda sudah berada di sana, anda boleh tetapkan this.tab kepada nilai yang diingini:

if (this.$route.name === 'AdminNotifications') {
  this.tab = 'requests';
} else {
  this.$router.push({
    name: "AdminNotifications",
    params: { tab: "requests" },
  })
}

Jika komponen yang bertanggungjawab untuk navigasi mengandungi tab 的组件不同,您可以将 tab 参数推送到 $route:

if (this.$route.name === 'AdminNotifications') {
  this.$router.replace({
    params: { tab: "requests" }
  });
} else {
  this.$router.push({
    name: "AdminNotifications",
    params: { tab: "requests" },
  })
}

Dalam komponen halaman, sebarang nilai sebenar mounted 中的“watcher”替换为适当的监视程序,该监视程序将 tab 动态设置为 $route.params.tab:

watch: {
  '$route.params.tab': {
    handler(val) {
      if (val) {
        this.tab = val;
      }
    },
    immediate: true
  }
}
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!