作者:pingyuki | 来源:互联网 | 2023-02-08 11:49
我正在开发一个Angular 2应用程序,我需要在列表中更改列的顺序,单击标题(作为数据表工作),我从Angularfire 2文档示例中得到一个想法,这是我的代码:( grupos.component.ts)
import { Component, OnInit } from '@angular/core';
import { AngularFire, FirebaseListObservable, FirebaseObjectObservable } from 'angularfire2';
import { Subject } from 'rxjs/Subject';
import {AF} from "../providers/af";
import { Router } from "@angular/router";
{ EditGpoComponent } from '../edit-gpo/edit-gpo.component';
@Component({
selector: 'app-grupos',
templateUrl: './grupos.component.html',
styleUrls: ['./grupos.component.css']
})
export class GruposComponent implements OnInit {
public newMessage: string;
eventos: FirebaseListObservable;
sizeSubject: Subject ;
constructor( af: AngularFire, private router: Router ) {
this.sizeSubject = new Subject();
this.eventos = af.database.list('/eventos', {
query: {
orderByChild: this.sizeSubject
}
});
}
filterBy(size: string) {
this.sizeSubject.next(size);
}
editaGrupo(keyGrupo){
this.router.navigate(['/add-gpo']);
}
ngOnInit() {
}
}
这是我的Grupos.components.html的代码:
+Add New Event
|
|
|
|
|
FUNCTIONS |
{{evento.evento}} |
{{evento.arrival}} |
{{evento.departure}} |
{{evento.hotel}} |
{{evento.pax}} |
|
正如你看到它的工作非常酷,每次我点击列标题按钮,我的表得到该列的顺序.但我一直在寻找如何给"sizeSubject"(主题)初始值的几个小时,我喜欢在"evento"上分配值,所以当我显示时,表格按照evento排序.现在只显示按钮标题和空白表格,如果我点击任何按钮,它会按顺序显示表格.
任何提示或评论将不胜感激!
1> snorkpete..:
如果您想要一个具有"初始值"的Subject,那么使用的更好的RxJS类是BehaviorSubject.
使用BehaviorSubject,您可以将初始值传递给其构造函数.