问题描述
所以,我试图在开始加载之前将这些数据放入组件中,以便我可以在视图加载之前设置一些内容。但我对这个解析器的工作方式、返回的内容以及如何读取它感到困惑。
我没有得到正确的数据类型,我不确定如何正确调用这个获取,所以我最终可以得到一个数组,然后用来推送到我的组件中。
所以解析器:
import {ActivatedRouteSnapshot,Resolve,RouterStateSnapshot} from "@angular/router";
import {Observable} from "rxjs";
import {Injectable} from "@angular/core";
import {EntryService} from "../app/entry.service";
import { Entrymodel } from "./entry.model";
@Injectable()
export class SinglePostResolver implements Resolve<any>{
entries :Entrymodel[] = [];
constructor(
private entry:EntryService,){
}
resolve(): Observable<any>//:Observable<EntryModel>{
return this.entry.getAventry()
}
}
入门模型是这样的
export class Entrymodel {
id: string;
surname: string;
color: string;
startDate: Startdate;
endDate: Enddate;
info: string;
status?: string;
inbet?: Inbetween[];
editing?: boolean;
}
export class Startdate{
day: string;
month: string;
year: string;
}
export class Enddate{
day: string;
month: string;
year: string;
}
export class Inbetween{
day: string;
month: string;
year: string;
}
获取:
getAventry(){
return this.firestore.collection('entry',x => x.where('status','==','Attending')).snapshotChanges();
}
我要去哪里:
ngOnInit(): void{
this.route.data.subscribe( (data) => {
});
console.log(this.entries)
}
路线:
{ path: 'calendar',component: CalendarComponent,resolve: { singlePost: SinglePostResolver}}
所以,这里让我困惑的是如何在解析器中正确调用提取。
我应该订阅/管道吗?我不确定如何处理它,然后如何调整解析器在路由中返回给我的内容? E.G 将该数据放入数组中以供使用。
我尝试了一些完全愚蠢的事情。我已经通读了 Observable 和 rxjs 上的 angular 文档,我大致了解它们的含义,observables 和需要 sub 来启动流,但我只是对如何处理它们的更复杂版本感到困惑,当我有接口时/我想和他们一起使用的课程..
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)