敗走戦略決意でのparamsを取得する方法:角度2:
export const routes = [
{
path : 'rto-activation/:id',
component : RtoActivationComponent,
resolve : {
'singleRto': SingleRtoResolve
},
children : [
{path: 'start', component: ActivationStartComponent},
{path: 'warning', component: WarningComponent},
{path: 'confirm', component: ConfirmRtoDetailsComponent},
{path: 'ldWaiver', component: LDWaiverComponent},
{path: 'payment-schedule', component: PaymentScheduleComponent},
{path: 'user-reference', component: ReferenceComponent}
]
}
SingleRtoResolve:
constructor(private router: Router,
private route: ActivatedRoute) {
}
resolve() {
var self = this;
return new Promise((resolve, reject) => {
self.subscription = self.route.params.subscribe(
(param: any) => {
let id = param[ 'id' ];
self.rtoService.getRto(null, +id)
.then((res: any) => {
resolve(res)
})
});
});
}
私が知っている:我々は通常ActivatedRouteサービスからのparamsを取得します。
質問:ルータサービスからパラメータを取得できますか。
概要:その段階のルートがアクティブでなく、私はparamsを得ることができないため、Resolve注射液で経路パラメータを取得しようとしています。
ユースケース:ユーザーがいくつかの(:id)を持つ任意の子ルート(暗黙と明示的)を開くと、親ルートでデータを解決する必要があります。
ngOnInit() {
let self = this;
this.subscription = this.route.params.subscribe(
(param: any) => {
let id = param[ 'id' ];
self.rtoService.getRto(null, +id)
.then((res: any) => {
})
});
}
使用route.params.idリード別のエラーのためにドキュメントをチェックすることができ 「プロパティ 『ID』タイプには存在しません「{[キー:文字列]:任意;} '。 角度付き..ts エクスポート宣言型Params = { [key:string]:any; }; – Faris
'route.params ['id']'で試しましたか? –
ですが、正常に動作します。 – Faris