Vuejs2 VueJs上的$route watch函数中的组件范围不正确
全部 我正在开发一个应用程序,需要根据应用程序路径加载/更改数据 为了知道url何时被更改,我在Vuejs2 VueJs上的$route watch函数中的组件范围不正确,vuejs2,vue-component,vue-router,Vuejs2,Vue Component,Vue Router,全部 我正在开发一个应用程序,需要根据应用程序路径加载/更改数据 为了知道url何时被更改,我在$route中添加了一个watch函数,我想调用同一组件中的一个函数来加载数据,所有工作都正常唯一的事情是watch函数中的this的范围,而不是引用VueComponent实例返回另一个对象 下面是我的简化代码,以获得一个想法 组件.vue <template> <div id="lists"> {{pageTitle}} </div> </
$route
中添加了一个watch
函数,我想调用同一组件中的一个函数来加载数据,所有工作都正常唯一的事情是watch
函数中的this
的范围,而不是引用VueComponent实例返回另一个对象
下面是我的简化代码,以获得一个想法
组件.vue
<template>
<div id="lists">
{{pageTitle}}
</div>
</template>
<script>
export default {
name: 'lists',
data() {
return {
pageTitle: 'Some Title',
};
},
created() {
console.log('LOAD THE ASKED PATH');
console.log(this.$route.params); /* Object */
console.log(this); /* VueComponent Instance */
},
watch: {
$route: (value) => {
console.log('ROUTE CHANGED');
console.log(value); /* Route Object */
console.log(this); /* NOT A VueComponent */
this.pageTitle = 'Some new title';
},
},
};
</script>
不确定这种方法是否正确,或者我遗漏了什么
任何帮助都将不胜感激
提前感谢。不要使用箭头函数定义监视处理程序(或方法、计算值或生命周期方法等)。箭头函数按词汇绑定此,并且不能重新绑定 相反,只需使用常规函数即可。Vue将其绑定到Vue
watch:{
$route: function(value){
console.log('ROUTE CHANGED');
console.log(value); /* Route Object */
console.log(this); /* NOT A VueComponent */
this.pageTitle = 'Some new title';
}
},
watch:{
$route: function(value){
console.log('ROUTE CHANGED');
console.log(value); /* Route Object */
console.log(this); /* NOT A VueComponent */
this.pageTitle = 'Some new title';
}
},