Podczas korzystania z routera Vue z trasami takimi jak /foo/:val
należy dodać obserwatora do react for parameter changes. Powoduje to nieco irytujący duplikat we wszystkich widokach, które mają parametry w adresie URL.Najlepsza praktyka reagowania na zmiany parametrów za pomocą routera Vue
To może wyglądać jak w poniższym przykładzie:
export default {
// [...]
created() {
doSomething.call(this);
},
watch: {
'$route'() {
doSomething.call(this);
}
},
}
function doSomething() {
// e.g. request API, assign view properties, ...
}
Czy jest jakiś inny sposób na pokonanie tego? Czy moduły obsługi dla połączeń created
i $route
mogą być łączone? Czy ponowne użycie komponentu może zostać wyłączone, aby obserwator nie był w ogóle potrzebny? Używam Vue 2, ale może to być interesujące także dla Vue 1.
Hmm. Router v1 miał opcję canReuse, ale nie widzę tego w wersji 2. Ciekawy. – ceejayoz
@ceejayoz Masz rację, był tam, ale [został usunięty] (https://vuejs.org/guide/migration-vue-router.html#canReuse-false-removed). – str
Cóż,! Z udziałem w tym pytaniu. – ceejayoz