我要判断从recovery-list路由跳过来的话,就把路由传过来的参数赋值,像这样this.feedBackItem = this.$route.query.row,这是我的代码,但这样写报错,你能给我改一下吗mounted() { this.showFeedbackDrawer() console.log(this.$route.query.row, '----'); }, beforeRouteEnter(to, from, next) { next(vm => { if(from.path == '/recovery-list') { this.feedBackItem = this.$route.query.row } }); },
时间: 2024-02-24 21:55:16 浏览: 51
在 `beforeRouteEnter` 钩子函数中,`this` 指向的是组件实例还未被创建的情况下,所以无法直接通过 `this` 来访问组件的数据和方法。正确的做法是通过 `vm` 参数来访问组件实例,将代码修改为如下所示:
```javascript
mounted() {
this.showFeedbackDrawer();
console.log(this.$route.query.row, '----');
},
beforeRouteEnter(to, from, next) {
next(vm => {
if(from.path == '/recovery-list') {
vm.feedBackItem = vm.$route.query.row;
}
});
},
```
在以上代码中,我们通过 `vm` 参数来访问组件实例,将路由参数 `row` 赋值给组件的 `feedBackItem` 数据属性。
阅读全文