无法使用firebaseRef使用angular2“无法找到名称'firebase'。”

时间:2016-08-01 19:06:24

标签: typescript angular firebase angularfire

我们试图通过angularFire2 api docs在我们的Angular 2应用程序中运行此示例:angularfire2.com/api

import {Inject} from 'angular2/core';
import {FirebaseRef} from 'angularfire2';

class MyComponent {
constructor(@Inject(FirebaseRef) ref:Firebase) {
ref.on('value', this.doSomething);
  }
}

但我们不断收到构建错误“找不到名称Firebase”

我们需要在哪里定义Firebase?它已在typings.json中定义:

"ambientDependencies": {
"firebase": "github:DefinitelyTyped/DefinitelyTyped/firebase/firebase.d.ts#64b25f63f0ec821040a5d3e049a976865062ed9d",
"es6-shim": "registry:dt/es6-shim#0.31.2+20160317120654"

},

任何见解都将受到赞赏。

1 个答案:

答案 0 :(得分:1)

这取自an answer to this github issue,当我无法获得您尝试使用的相同代码时,这对我有用。

  

使用Angularfire2,您不需要编写任何.on()或.off()。   您可以通过指向引用然后完成相同的操作   订阅它,就像这样:

let subscription = this.af.database.object('someLocation').subscribe(data=> {
//do something with your data
})
  

与...基本相同:

firebase.database().ref('someLocation').on('value', snapshot=>{
//do something with your data
})