我们试图通过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"
},
任何见解都将受到赞赏。
答案 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
})