鍍金池/ 問答/HTML/ vue mounted 內(nèi)數(shù)據(jù)結(jié)構(gòu)發(fā)生變化

vue mounted 內(nèi)數(shù)據(jù)結(jié)構(gòu)發(fā)生變化

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
    },
},

這是什么原因?

回答
編輯回答
毀與悔

內(nèi)部數(shù)據(jù)結(jié)構(gòu)沒有發(fā)生變化

你這個在mounted鉤子函數(shù)里面  輸出this.dataList[0] 確實是未定義的  沒有賦值
你activaed 鉤子函數(shù)是在 keep-alive組件激活時調(diào)用/ 通俗點講 也就是掛載完之后激活才賦值 所以上面
執(zhí)行mounted函數(shù)時未定義

或者 測試數(shù)據(jù)結(jié)構(gòu)變化最簡單 typeof 一下this.dataList就OK了

2018年3月15日 09:57