Angular - 为FirebaseListObservable分配新值

时间:2017-06-06 23:04:58

标签: javascript angular angularfire2

不确定这是怎么做的。

filter是一个可观察的Firebase列表。

filter: FirebaseListObservable<UserModel[]>;

这是查询。它使所有用户具有特定职业。

this.filter = this.db.list('occupationsUsers/' + occupation + '/users');

然后我使用了<md-list>。它显示所有有职业的用户。

<md-list>

            <md-list-item *ngFor="let user of filter | async" [value]="user.email">{{user.email}}
              <button md-button [mdMenuTriggerFor]="menu">Menu</button>
              <md-menu #menu="mdMenu">
                <button md-menu-item (click)="removeUserFromFilterList(user.email)">Delete</button>
              </md-menu>
            </md-list-item>
          </md-list>

removeUserFromFilterList

  removeUserFromFilterList(userEmail: string) {
    var index = this.eventForm['guests'].indexOf(userEmail);
    this.filter = this.eventForm['guests'].splice(index, 1);
  }

错误:

ERROR Error: InvalidPipeArgument: '[object Object]' for pipe 'AsyncPipe'
    at invalidPipeArgumentError

如何使用新的更新用户列表填充this.filter并使其保持使用firebase查询?

1 个答案:

答案 0 :(得分:0)

你提到的

this.filterFirebaseListObservable。据我所知,this.eventForm只是一个数组(而不是像this.filter)。 我建议你使用以下方法之一:
this.filter.update('key-of-some-data', { object to remove });

this.filter.remove('key-of-some-data');
你可以在上面阅读更多相关信息 click here