猿问

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

    },

},

这是什么原因?

人到中年有点甜
浏览 1006回答 1
1回答

侃侃无极

内部数据结构没有发生变化你这个在mounted钩子函数里面&nbsp;&nbsp;输出this.dataList[0]&nbsp;确实是未定义的&nbsp;&nbsp;没有赋值 你activaed&nbsp;钩子函数是在&nbsp;keep-alive组件激活时调用/&nbsp;通俗点讲&nbsp;也就是挂载完之后激活才赋值&nbsp;所以上面 执行mounted函数时未定义或者 测试数据结构变化最简单 typeof 一下this.dataList就OK了
随时随地看视频慕课网APP
我要回答