Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度/角度Fire2 Firestore-初始化可观测集合_Javascript_Angular_Firebase_Collections_Google Cloud Firestore - Fatal编程技术网

Javascript 角度/角度Fire2 Firestore-初始化可观测集合

Javascript 角度/角度Fire2 Firestore-初始化可观测集合,javascript,angular,firebase,collections,google-cloud-firestore,Javascript,Angular,Firebase,Collections,Google Cloud Firestore,我正在使用material 2,我正在尝试创建带有分页和排序的数据表,因此我需要我的集合是可观察的,但我认为我必须在控制器中错误地填充/初始化数组 我一直在使用下面的方法用“expenses”firestore集合中的数据填充“expenses”数组,但这总是说“Type'Observable'不可分配给Type'any[]” 我如何正确地创建一个可观察的数组,该数组由firestore集合中的数据填充?这只是一个键入问题。如果您将费用的类型更改为可观察。实际上我以前已经多次尝试过,但它曾经出现

我正在使用material 2,我正在尝试创建带有分页和排序的数据表,因此我需要我的集合是可观察的,但我认为我必须在控制器中错误地填充/初始化数组

我一直在使用下面的方法用“expenses”firestore集合中的数据填充“expenses”数组,但这总是说“Type'Observable'不可分配给Type'any[]”


我如何正确地创建一个可观察的数组,该数组由firestore集合中的数据填充?

这只是一个键入问题。如果您将
费用的类型更改为
可观察。

实际上我以前已经多次尝试过,但它曾经出现过另一个错误,这使得将可观察添加到firestore集合的任何[]中看起来是无效的。现在我又试了一次,你提出了这个建议,很明显这意味着我没有想错,而且它起作用了。。。。ThanksHi,如果你在这里的回答中找到了你的问题的答案,请考虑通过点击左边的绿色复选标记来接受答案。这样,其他人就会知道你的问题已经得到了回答。如果您觉得我的答案没有回答您的问题,请不要担心,我只是想让您了解功能。小贴士:如果你找到了一种不同/更好的方法,你可以随时添加自己的答案。欢迎来到SO:)
import { Component, OnInit, AfterViewInit, ViewChild } from '@angular/core';

import { MatPaginator, MatTableDataSource, MatSort } from '@angular/material';

import { Observable } from 'rxjs/Observable';

import { AngularFireDatabase } from 'angularfire2/database';

import { AngularFirestore, AngularFirestoreCollection } from 'angularfire2/firestore';

@Component({
  selector: 'app-expense-list',
  templateUrl: './expense-list.component.html',
  styleUrls: ['./expense-list.component.scss']
})

export class ExpenseListComponent implements OnInit, AfterViewInit {

  tableColumns = [ 'id' ];

  expenses: any[];

  constructor(private db: AngularFirestore) {
    this.expenses = this.db.collection('/expenses').valueChanges();
  }

  ngOnInit() {

  }

  ngAfterViewInit() {

  }

  viewExpense(row) {
    console.log('viewExpense(' + row.id + '): ', row);
  }

}