首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我想停止angular-2中的firebase的实时数据反射。

我想停止angular-2中的firebase的实时数据反射。
EN

Stack Overflow用户
提问于 2017-08-10 21:25:09
回答 1查看 426关注 0票数 1

当我改变数据库的值时,它不需要刷新就会反映在我的页面中。所以我想停止实时数据反射。

代码语言:javascript
复制
constructor(public af: AngularFireDatabase,
    public route: ActivatedRoute) {
    this.addemployee = af.list('/employees');
    this.employee = af.object('/employees');
}

getEmployees() {
    this.employees = this.af.list('/employees') as FirebaseListObservable<any[]>;
    return this.employees;
}
EN

回答 1

Stack Overflow用户

发布于 2017-08-10 21:29:31

解决方案:添加take(1),使代码行为this.employees = this.af.list('/employees').take(1) as FirebaseListObservable<any[]>;

如果我没理解错的话。你不想要实时更新,只想要数据一次。

您可能正在使用:https://firebase.google.com/docs/reference/js/firebase.database.Reference#on,这是为您提供数据更新的工具。

代码语言:javascript
复制
ref.on('value', function(dataSnapshot) {
  // ...
});

如果只需要一次数据,可以使用:https://firebase.google.com/docs/reference/js/firebase.database.Reference#once

代码语言:javascript
复制
// Basic usage of .once() to read the data located at ref.
ref.once('value')
  .then(function(dataSnapshot) {
    // handle read data.
  });

更新:添加了非常简单的JavaScript示例,request from comment。

代码语言:javascript
复制
var ref = firebase.database().ref('database/path/to/something');
ref.once('value')
  .then(function(dataSnapshot) {
    // handle read data.
    let data = dataSnapshot.val();
    // data is { "name": "Ada", "age": 36 }
    // data.name === "Ada"
    // data.age === 36
  });
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45615057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档