Di halaman utama saya, saya memiliki dropdown yang ditampilkan v-show=show
dengan mengklik tautan @click = "show=!show"
dan saya ingin mengatur show=false
ketika saya mengubah rute. Beri tahu saya bagaimana cara mewujudkan hal ini.
vue.js
vuejs2
vue-router
Kipris
sumber
sumber
$route: function(to, from) {
jika Anda ingin mendukung browser lama, dan tidak menggunakan babel.Jika Anda menggunakan v2.2.0 maka ada satu opsi lagi yang tersedia untuk mendeteksi perubahan dalam $ route.
Untuk bereaksi terhadap perubahan params dalam komponen yang sama, Anda cukup menonton objek $ route:
Atau, gunakan pelindung beforeRouteUpdate yang diperkenalkan di 2.2:
Referensi: https://router.vuejs.org/en/essentials/dynamic-matching.html
sumber
beforeRouteUpdate
hanya berfungsi pada tampilan yang menyatakan metode dan bukan pada komponen anak apa punHanya memetikan jika ada yang mencari cara melakukannya dalam naskah di sini adalah solusinya
Dan ya seperti yang disebutkan oleh @Coops di bawah ini, jangan lupa sertakan
Sunting: Alcalyn membuat titik yang sangat baik menggunakan tipe Route daripada menggunakan apa pun
sumber
import { Prop, Watch } from "vue-property-decorator";
any
jenisnya, Anda mungkin ingin menggunakan antarmukaRoute
dariimport { Route } from 'vue-router';
Respons di atas lebih baik, tetapi hanya untuk kelengkapan, ketika Anda berada di komponen Anda dapat mengakses objek sejarah di dalam VueRouter dengan: this. $ Router.history. Itu artinya kita dapat mendengarkan perubahan dengan:
this.$router.listen((newLocation) =>{console.log(newLocation);})
Saya pikir ini sangat berguna ketika digunakan bersama dengan ini. $ Router.currentRoute.path Anda dapat memeriksa apa yang saya bicarakan tentang menempatkan
debugger
instruksi dalam kode Anda dan mulai bermain dengan Chrome DevTools Console.
sumber
Watcher dengan opsi mendalam tidak bekerja untuk saya.
Sebagai gantinya, saya menggunakan kait siklus hidup yang diperbarui () yang dijalankan setiap kali data komponen berubah. Cukup gunakan seperti yang Anda lakukan dengan mount () .
Untuk referensi Anda, kunjungi dokumentasi .
sumber
Solusi lain untuk pengguna naskah:
sumber