我正在努力解決一個錯誤。它花了我2天,仍然沒有解決方案... 我使用Ionic2作爲前端,Horizon使用RethinkDB作爲後端。我有一張名爲「消息」的表格,裏面有很少的消息。我只想獲得所有這些信息並在我的主頁上顯示。 這裏是我的代碼:Horizon/RethinkDB/Ionic2無法讀取未定義的屬性「push」
import {Component} from '@angular/core';
import {NavController} from 'ionic-angular';
declare var Horizon;
@Component({
templateUrl: 'build/pages/home/home.html'
})
export class HomePage {
test: any[];
constructor(public navCtrl: NavController) {
}
getMessages(){
let test = [];
let hz = new Horizon({host: 'localhost:3100'});
hz.connect();
let messages = hz('messages');
messages.watch().subscribe(messages => {
for(let i = 0; i<messages.length; i++){
console.log(messages[i].text);
console.log(messages[i].id);
this.test.push([{
text: messages[i].text,
id: messages[i].id
}])
}
});
}
}
我試着用的this.test.push多種組合,但仍然沒有運氣。我做錯了什麼......希望你們幫助我!
發生這種情況是因爲'this.test'未定義。如果你只是使用'test.push(...'或將'let test = [];'改爲'this.test = [];' – dalanmiller
該死的......現在一切正常,謝謝!不知道爲什麼我沒有那樣做。 – Patrick1870