gpt4 book ai didi

angular - 如何在 Angular 2 的命名导出中强制设置路由参数

转载 作者:太空狗 更新时间:2023-10-29 17:48:32 25 4
gpt4 key购买 nike

要在 router-outler 中强制设置路由参数,我们这样做:

this.router.navigate(['/hero', hero.id]);

如何在命名导出中强制设置路由参数?

this.router.navigate([{ outlets:{modal: 'modal/user'} }]);

现在我连接字符串来设置路由参数:

this.router.navigate([{ outlets: {modal: 'modal/user' + '/' + 'this.id'} }]);

最佳答案

确保你的路由文件在模态组件中有 :id 就像我的这样

{ path: 'component-aux/:id', component: ComponentAux, outlet: 'sidebar' }

你的调用路径应该是这样的

id: string="any value you want to set";
this.id= input || 'not set';

||如果没有指定值,将设置默认值

 <a [routerLink]="[{ outlets: { 'sidebar': ['component-aux', this.id] } }]">Component Aux</a>

你的辅助组件应该是这样的

import {Component} from '@angular/core';
import { ActivatedRoute } from '@angular/router';

@Component({
selector: 'component-aux',
template: 'Component Aux'
})
export default class ComponentAux {
private id;
private sub: any;
constructor(private route: ActivatedRoute) {}

private ngOnInit() {
this.sub = this.route.params.subscribe(params => {
this.id = +params['id']; // (+) converts string 'id' to a number
console.log(this.id);
});
}

private ngOnDestroy() {
this.sub.unsubscribe();
}

}

这是实时 plnkr 链接 https://plnkr.co/edit/5aP6MgTRzXr5Urq5fr2J?p=preview .我希望这会有所帮助:)

关于angular - 如何在 Angular 2 的命名导出中强制设置路由参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42048426/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com