首先咱们先看一下代码结构:
假设你想在页面进来的时候自动获取数据列表,并且这个方法在其他地方也有用到,但是我们并不想写重复代码
你可能想到在生命周期created的时候调用getKeyTask方法,如下:
这种逻辑其实是没问题的(而且也能运行),但有时候就很懵逼同样的代码,
它会报getKeyTask is undefined 或者报propty的错误,因为官方的文档对created的解释是这样的:
在实例创建完成后被立即调用。在这一步,实例已完成以下的配置:数据观测 (data observer),property 和方法的运算,watch/event 事件回调。然而,挂载阶段还没开始,$el
property 目前尚不可用。
所以为了保险起见,我建议你到mounted里面再调用,如下:
mounted() {
this.$nextTick(function () {
this.getKeyTask();
})
}