-
vue-router
第一次访问组件时会渲染组件,当再次操作该组件时,不会重新进行生成,而是会复用组件,而created()
生命周期函数只会在第一次生成的时候调用,而后在复用组件的时候由于不是属于第一次生成,所以不再执行,这个时候就要用到watch
监控$route
(路由信息对象),当信息对象残生变化就再执行created()
的函数
export default {
watch: {
$route(){
this.getData()
}
},
methods: {
getData(){
let id = this.$route.params.userId
if(id){
this.userInfo = this.userList.filter((item) => {
return item.id == id
})[0]
}else{
this.userInfo = {}
}
}
},
created(){
// console.log(this.$route)
this.getData()
}
}