Vue-router 文档给出了 2 种特定的使用模式:
const route = useRoute();
// Get the current value
const id = route.params.id;
// Watch for further value changes
watch(
() => route.params.id,
(newValue, oldValue) => {
console.log(`The value changed from ${oldValue} to ${newValue}`);
});
然而,在许多在线示例中,我发现路由经常被用作
computed
反应性属性:
const id = computed(() => route.params.id);
我想知道在这种情况下
computed
有什么好处?
似乎这不会捕获值的变化,并且只会使获取值变得过于复杂。还是我错过了什么?
它将捕获价值变化。简而言之,计算只是一个快捷方式:
const id = ref(route.params.id)
watch(
() => route.params.id,
(newValue) => {
id.value = newValue
}
)