【发布时间】:2018-02-14 22:32:18
【问题描述】:
我的页面上有一个routerLink,它转到了某个路线,但我收到了这个错误
基本上,我有一个具有唯一 ID 的资产页面,然后当您单击按钮时,ID 会更改,并且路线应该更新,因此资产/sa3384320402 应更改为资产/i44309509439 新 ID
我的routerLink如下
<button [routerLink]="['/asset', newId]">click</button>
我的路由页面
@NgModule({
imports: [
RouterModule.forChild([
{
path: '',
children: [
{ path: 'week-1', component: Week1Component },
{ path: 'week-1/asset/:id', component: AssetPageComponent }
]
}
])
],
还有我的asset-page.component.ts
import { Component, OnInit, AfterViewInit } from '@angular/core';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/switchMap';
import { ActivatedRoute, ParamMap, Router } from '@angular/router';
import { Entry } from 'contentful';
import { ContentfulService } from '../../../contentful.service';
import * as _ from 'lodash';
declare var Player: any;
declare var Vimeo: any;
@Component({
selector: 'app-asset-page',
templateUrl: './asset-page.component.html',
styleUrls: ['./asset-page.component.scss']
})
export class AssetPageComponent implements OnInit {
asset: Entry<any>[];
id: string;
videoID: string;
constructor(
private contentfulService: ContentfulService,
private route: ActivatedRoute,
private router: Router
) { }
ngOnInit() {
this.route.paramMap
.switchMap((params: ParamMap) => this.contentfulService.getAsset(params.get('id')))
.subscribe((asset) => {
this.asset = asset;
console.log(this.asset);
});
}
}
我不确定发生了什么,因为如果我走那条路线,它确实可以通过 routerLink 工作?
任何帮助将不胜感激!
谢谢
编辑
我已经尝试了以下这些结果
<button [routerLink]="['/week-1/asset', newId]">click</button> - 与上述相同的错误
<button [routerLink]="['asset/', newId]">click</button> - 只是将新路由添加到旧路由的末尾
<button [routerLink]="['asset', newId]">click</button> - 只是将新路由添加到旧路由的末尾
【问题讨论】:
标签: javascript angular typescript