第一个链接是 http://127.0.0.1:8000/subkategoriya/23 我想跳过这条路线,但只会改变参数,如下所示:http://127.0.0.1:8000/subkategoriya/24
<li v-for="subcategory in subcategories" :key="subcategory.id">
<router-link
:to="{name: 'subcatprods', params:{ id:subcategory.id }}"
@click="changed">
{{subcategory.category_tm}}
</router-link>
</li>
methods: {
changed() {
// update
}
}
如何在此方法 changed()
中编码?
答案 0 :(得分:0)
这个问题是因为重复使用了相同的组件,这是出于性能原因。您可以通过两种方式解决此问题。通过查看参数更改的路由或连接到路由更新。
这是一个对道具更改和更新显示消息做出反应的示例。点击链接查看,可以在手表中注释掉更新,查看更新失败。 http://jsfiddle.net/9k7hdwse/
来自文档:
export default {
watch: {
$route(to, from) {
// do update
}
}
}
或者您可以使用beforeRouteUpdate
:
export default {
beforeRouteUpdate(to, from, next) {
// do update
next();
}
}
可在此处找到更多信息:https://router.vuejs.org/guide/essentials/dynamic-matching.html#reacting-to-params-changes