我正在努力解决一个错误。它花了我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