如何解决“意外令牌:构造函数,方法,访问器或属性是预期的”错误?

时间:2017-06-28 11:12:20

标签: angular typescript firebase ionic2

我正在编写一个代码来触发对firebase的查询。这是我相关课程的代码片段:

export class ViewUserPage {
  public list = [];
  public ref = firebase.database().ref();
  public usersRef = this.ref.child('users');

  constructor(public navCtrl: NavController, public navParams: NavParams) {}
  
  
  this.usersRef.orderByChild('tag').equalTo('staff').on('child_added',function(snap){
    this.list.push(snap.val().email);
    });





}

现在我在上面代码段的以下部分的"unexpected token : A constructor, method, accessor, or property was expected"中收到的错误是"this.usersRef.orderByChild"

this.usersRef.orderByChild('tag').equalTo('staff').on('child_added',function(snap){
    this.list.push(snap.val().email);
    });

如何解决此错误?请帮忙!

1 个答案:

答案 0 :(得分:2)

我不相信Typescript允许在一个类中使用顶级表达式。

你需要移动

this.usersRef.orderByChild('tag').equalTo('staff').on('child_added',function(snap){
    this.list.push(snap.val().email);
    });

到一个方法里面。如果您希望在创建实例时运行它,请将其粘贴在构造函数中。否则将它放在某个方法中,并在您希望它运行时调用该方法。