我想通过id获取我的帖子,并使用角度路由将它们渲染到不同的组件中,我已经能够获取每个帖子的id并将其附加到url上,但是我不知道从哪里可以找到。< / p>
我的服务代码:
getmaxPost(id : number): Observable<maxPost>{
const url = `${this.basePath}/${id}`;
return this.db.object<maxPost>(url)
}
我的.ts代码:
getmaxPost(): void {
const id = +this.route.snapshot.paramMap.get('id');
console.log("this is the", id);
this.Service.getmaxPost(id).subscribe(fileUpload => this.fileUpload = fileUpload);
}
我对.ts的导入:
import { ActivatedRoute } from '@angular/router';
import { Location } from '@angular/common';
import { MaxPostServiceService } from '../max-post-service.service';
import { Component, OnInit, Input } from '@angular/core';
我的进口商品:
import { Observable, of } from 'rxjs';
import { Injectable } from '@angular/core';
import { maxPost } from '../max-post-model';
答案 0 :(得分:0)
第一步是检查您的控制台日志“这是ID”是否正确打印。接下来,我建议您更改您的代码以订阅到:
subscribe(fileUpload => {
console.log(fileUpload);
this.fileUpload = fileUpload;
})
这应该可以使您在代码中的下一个地方找到亮点。
答案 1 :(得分:0)
您必须以这种方式定义路线。
{
path: 'max/home/post-details/:id',
component: PostDetailComponent,
},
已更新:
关于配置,您应该从URI中删除/home/
{
path: 'max',
component: MAXComponent,
children: [
{
path: 'home', component: HomeComponent,
},
{
path: 'window',
component: WindowComponent,
},
{
path: 'post-details/:id', component: PostDetailsComponent,
}
}
post-details
是max
而非home
因此应代替max/home/post-details/91210655
而不是max/post-details/91210655
或者,更改路由配置以使post-detaild
为home
的子代