关于vue的生命周期

clipboard.png

这个是elementUI的tree控件

被选上的值是后台传给我的

//mounted生命中期中的代码:
    axios.get('/adSquad/findById',{
        params:{
            id:this.currentID
        }
    })
    .then(res=>{
                this.$refs.tree_Interests.setCheckedKeys(res.data.data.interest); //设置被选中
            }
    })

浏览器提示了:'setCheckedKeys' of undefined
想了下,应该是生命周期的问题。tree控件还没加载出来就被赋值了,就会提示undefined。所以有没有方法等页面加载完成后去请求后台数据?

阅读 1.8k
2 个回答

所以有没有方法等页面加载完成后去请求后台数据?
那可以放在mounted里去做。
这类问题我觉得应该去看Vue文档。文档没看懂,或者文档中没有写,再来提问比较好。

// dom渲染完
mounted(){
    // 有时候不一定真正渲染完成,所以提供了一个[`$nextTick`](https://cn.vuejs.org/v2/api/#vm-nextTick)的`API`
    this.$nextTick(() => {
        // code here
    });
}
this.$nextTick(()={
    this.$refs.tree...
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题