При использовании Vue Router с такими маршрутами, как /foo/:val
, вы должны добавить наблюдателя в реагировать на изменения параметров. Это приводит к несколько раздражающему дублирующему коду во всех представлениях, у которых есть параметры в URL.
Это может выглядеть следующим образом:
export default {
// [...]
created() {
doSomething.call(this);
},
watch: {
'$route' () {
doSomething.call(this);
}
},
}
function doSomething() {
// e.g. request API, assign view properties, ...
}
Есть ли другой способ преодолеть это? Можно ли комбинировать обработчики для created
и $route
? Можно ли отключить повторное использование компонента, чтобы наблюдатель вообще не нуждался? Я использую Vue 2, но это может быть интересно и для Vue 1.