【发布时间】:2017-12-10 10:14:01
【问题描述】:
AngularFire2 排序不起作用。
我有更新“订单”的按钮。 switch-case 的正确 case 被触发,但结果与初始排序相同。
@Component({
selector: 'app-compact-research-report-list',
template: `
<loader *ngIf="!(allRRs$ | async)" [loading]=true [message]="'loading view...'"></loader>
<ul class="list-unstyled clearfix">
<li class="youtube-list-item" [@fadeIn] *ngFor="let rr of (allRRs$ | async)">
<app-compact-research-report [media]="rr"></app-compact-research-report>
</li>
</ul>
`,
changeDetection: ChangeDetectionStrategy.OnPush
})
export class CompactResearchReportListComponent implements OnInit {
public allRRs$: Observable<ResearchReport[]>;
ngOnInit() {
this.authService.reportDDBS$.subscribe((order) => {
console.log('Reportorder = ' + order);
switch (order) {
case 'uploadDate':
this.allRRs$ = this.dalService.this.afDb.list(`research_reports-published/`, ref => ref.orderByChild('uploadDate')).valueChanges();
break;
case 'filename':
this.allRRs$ = this.dalService.this.afDb.list(`research_reports-published/`, ref => ref.orderByChild('filename').valueChanges();
break;
case 'uploaderName':
this.allRRs$ = this.dalService.this.afDb.list(`research_reports-published/`, ref => ref.orderByChild('uploaderName').valueChanges();
break;
case 'revDownloads':
this.allRRs$ = this.dalService.this.afDb.list(`research_reports-published/`, ref => ref.orderByChild('revDownloads').valueChanges();
break;
default:
this.allRRs$ = this.dalService.this.afDb.list(`research_reports-published/`, ref => ref.orderByChild('uploadDate').valueChanges();
}
});
}
}
【问题讨论】:
标签: javascript angular firebase firebase-realtime-database angularfire2