2017-06-28 30 views
3

私はfirebase to firebaseのコードを書いています。"予期しないトークン:コンストラクタ、メソッド、アクセサ、またはプロパティが予期されました"を解決する方法のエラー?

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

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); 
 
    }); 
 

 

 

 

 

 
}

今、私は取得していますエラーが上記のスニペットの以下の部分で"this.usersRef.orderByChild""unexpected token : A constructor, method, accessor, or property was expected"です:これは私の関連するクラスのコードスニペットです

このエラーはありませんか?助けてください!

答えて

2

私はTypescriptがクラス内のトップレベルの式を許可しているとは思わない。

あなたは、メソッド内に

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

を移動する必要があります。インスタンスが作成されたときにそのインスタンスが実行されることを期待している場合は、そのインスタンスをコンストラクタにスティックします。そうでない場合は、それをいくつかのメソッドに入れ、メソッドを実行したいときに呼び出します。

+0

あなたは 'this.list'にアクセスするために矢印機能を使用する必要があると思う。 –

+0

@ suraj正直なところ、私のTypescriptはその呼び出しをするには余りにも錆びている。 Javascriptと同じであれば、あなたは正しいと思います。 – Carcigenicate

+0

はい.. typescriptはjsのスーパーセットです。厳密な型システムは何の追加です –

関連する問題