我正在使用Vue.JS和Laravel 5.2進行項目。VueJS - 有時會出錯「Uncaught TypeError:無法讀取未定義的屬性'進程'
這是一個訓練詞彙的程序。所以在我的Vue-Data-Object中有一個包含wordpairs的數組。每個wordpair被存儲作爲對象:
"words": [
{
"lang1": "Haus",
"lang2": "house",
"lang1_hint": "",
"lang2_hint": "",
"image_url": "",
"tries": 0,
"fails": 0,
"process": 1
},
{
"lang1": "Feuer",
"lang2": "fire",
"lang1_hint": "",
"lang2_hint": "",
"image_url": "",
"tries": 0,
"fails": 0,
"process": 5
},
...
]
現在我有一個函數,該函數數組的長度,產生一個隨機數,並返回一個隨機數出數組的上面:
getRandomWord: function(){
var i = Math.floor((Math.random() * this.words.length) + 1);
if(this.words[i].process == 5){
return this.getRandomWord();
} else {
return {
index: i,
content: this.words[i]
}
}
}
大部分沒有問題。但有時,出現錯誤時的說法:
Uncaught TypeError: Cannot read property 'process' of undefined
控制檯說,在我的getRandomWord()if(this.words[i].process == 5)
的,如果條件發生錯誤。
任何想法爲什麼?過程值始終爲1,2,3,4或5.
感謝至此!
天哪...謝謝!我知道一個數組從0開始,但這不是我尋找解決方案的方向。 – Brotzka