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

Posted

技术标签:

【中文标题】如何解决“意外的令牌:预期的构造函数、方法、访问器或属性”错误?【英文标题】:How to solve "unexpected token : A constructor, method, accessor, or property was expected" error? 【发布时间】:2017-12-01 17:18:42 【问题描述】:

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

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" in "this.usersRef.orderByChild" 在上述 sn-p 的以下部分:

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

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

【问题讨论】:

【参考方案1】:

我不相信 Typescript 允许在类中使用***表达式。

你需要移动

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

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

【讨论】:

我认为你需要使用箭头功能来访问this.list..虽然不是问题的一部分 @suraj 老实说,我的 Typescript 太生锈了,不能打那个电话。如果它与 javascript 相同,我认为你是对的。 是的.. typescript 是 js 的超集.. 严格的类型系统只是额外的

以上是关于如何解决“意外的令牌:预期的构造函数、方法、访问器或属性”错误?的主要内容,如果未能解决你的问题,请参考以下文章

如何解决 Ajax 跨域请求不到的问题

如何解决包冲突问题

如何解决包冲突问题

如何解决ajax跨域问题

MySQL 的 10048问题,如何解决?

如何解决smartgit的冲突问题