vue-router、created()(小知识点一)

  • 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()
        }
    }

你可能感兴趣的:(vue-router、created()(小知识点一))