在将Angular与Cloud Firestore(Firebase)结合使用时,似乎有很多示例,教程和视频,以及如何分页到下一页。
但是经过大量搜索后,我找不到找到前一页的方法。我得到的最远的就是返回第一页。
这是我的服务现在的外观:
import { Injectable } from '@angular/core';
import { AngularFirestore } from 'angularfire2/firestore';
import { BehaviorSubject, Observable } from 'rxjs';
import { map } from 'rxjs/operators';
import { Task } from './task.model';
@Injectable()
export class TaskService {
private _data: BehaviorSubject<Task[]>;
public data: Observable<Task[]>;
firstEntry: any;
latestEntry: any;
constructor(private afs: AngularFirestore) { }
public first() {
this._data = new BehaviorSubject([]);
this.data = this._data.asObservable();
const tasksRef = this.getCollection('tasks', ref => ref.orderBy('createdAt').limit(5))
.subscribe(data => {
this.firstEntry = data[0].doc;
this.latestEntry = …Run Code Online (Sandbox Code Playgroud)pagination firebase firebase-realtime-database angular google-cloud-firestore
我正在尝试将旧的 BackBone.js 应用程序更新为 Angular (4/5)。要求之一是在这个新应用程序中继续使用旧路线,这引发了一些挑战。
旧路线构建如下:
site.com/r/{username}/{route}
Run Code Online (Sandbox Code Playgroud)
例如
site.com/r/johndoe/homepage
site.com/r/janedoe/blog
Run Code Online (Sandbox Code Playgroud)
我现在使用没有哈希的 Angular 路由,但是我在 Angular 中构建的每条路由现在都包含一个长字符串:
{ path: '/r/:username/homepage' }
Run Code Online (Sandbox Code Playgroud)
我希望有一种更干净的方式来使用这里的路线。:username 变量仅在引导应用程序时才需要,因此从 Url 中去除第一位并在此之后启动 NG 路由路径会更好。
我知道 base href 会将应用程序编译到潜在的子目录,但这不适用于变量 username。
有没有办法在 Angular 中完成这项工作?