如何以Angular方式获取Angular2路径上的参数?

前端之家收集整理的这篇文章主要介绍了如何以Angular方式获取Angular2路径上的参数?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
路线
const appRoutes: Routes = [
    { path: '',redirectTo: '/companies/unionbank',pathMatch: 'full'},{ path: 'companies/:bank',component: BanksComponent },{ path: '**',redirectTo: '/companies/unionbank' }
]

零件

const NAVBAR = [
    { 
        name: 'Banks',submenu: [
            { routelink: '/companies/unionbank',name: 'Union Bank' },{ routelink: '/companies/metrobank',name: 'Metro Bank' },{ routelink: '/companies/bdo',name: 'BDO' },{ routelink: '/companies/chinabank',name: 'China Bank' },]
    },...
]

链接示例:http:// localhost:8099 /#/ companies / bdo

我想在上面的示例链接获取String bdo。

我知道我可以通过使用window.location.href获取链接并拆分成数组。所以,我可以得到最后一个参数,但我想知道是否有一个正确的方法以角度方式这样做。

任何帮助,将不胜感激。谢谢

如果在组件中注入ActivatedRoute,则可以提取路径参数
import {ActivatedRoute} from '@angular/router';
...

constructor(private route:ActivatedRoute){}
bankName:string;

ngOnInit(){
    // 'bank' is the name of the route parameter
    this.bankName = this.route.snapshot.params['bank'];
}

如果您希望用户直接从一个银行导航到另一个银行,而不先导航到另一个组件,您应该通过一个observable访问该参数:

ngOnInit(){
    this.route.params.subscribe( params =>
        this.bankName = params['bank'];
    )
}

对于文档,包括两个check out this link之间的差异并搜索“activatedroute”

更新:2017年8月

从Angular 4开始,params已被弃用,以支持新接口paramMap.如果您只是将一个替换为另一个,则上述问题的代码应该有效。

猜你在找的Angularjs相关文章