vue mounted 内数据结构发生变化

activated:function(){
    this.getData()
},
data() {
    return {
        dataList:[]
    };
},
mounted() {
    console.log(this.dataList[0]) //undefined
},
methods: {
    getData() {
        for (var i = 1; i < 20; i++) {
            this.dataList.push(i)
        }
        console.log(this.dataList[0]) //1
    },
},

这是什么原因?

阅读 2.2k
1 个回答

内部数据结构没有发生变化

你这个在mounted钩子函数里面  输出this.dataList[0] 确实是未定义的  没有赋值
你activaed 钩子函数是在 keep-alive组件激活时调用/ 通俗点讲 也就是挂载完之后激活才赋值 所以上面
执行mounted函数时未定义

或者 测试数据结构变化最简单 typeof 一下this.dataList就OK了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题