如何将rxjs运算符应用于从angularfire2获取的数据

时间:2016-06-22 05:32:20

标签: firebase angularfire firebase-realtime-database rxjs rxjs5

假设我在angularfire2中请求了这样的数据:

CL-USER> (defun readarray (&rest args)
            (values (read-from-string
                     (concatenate 'string "#("
                                  (apply #'read-line args)
                                  ")"))))
READARRAY
CL-USER> (readarray)
1 2 3 4
#(1 2 3 4)
CL-USER> (type-of *)
(SIMPLE-VECTOR 4)

现在我如何将rxjs运算符(如map运算符)应用于即将到来的数据

1 个答案:

答案 0 :(得分:0)

我认为你没有看到angularfire2那 - 那是v1代码......

您可以在angularfire2中使用rxjs运算符 - 数据作为Observable(FirebaseListObservable或FirebaseObjectObservable)返回 - 因此您可以将任何rxjs运算符导入并应用于这些运算符......

通常,您只需将数据分配给变量,并让模板使用异步管道

处理它
@Component({
  selector: 'app',
  templateUrl: `
  <ul>
    <li *ngFor="let item of items | async">
      {{ item.name }}
    </li>
  </ul>
  `,
})
class AppComponent {
  items: FirebaseListObservable<any>;
  constructor(af: AngularFire) {
    this.items = af.database.list('/items');
  }
}

但是你可以使用rxjs运算符(一定要导入你想要的东西)

this.af.database.list('/items')
.map(value => {
    console.log(value);
    return value; // do something with value etc.
})
.subscribe(data => console.log(data));

更多信息:AngularFire2