角度获取数据取决于动态网址路径参数

时间:2018-04-11 13:55:39

标签: angular angular2-routing angular-routing

我正在以角度开发一个小型新闻门户网站,主要着陆页面在https://sampledomain.in打开。

现在,如果有人点击新闻我有另一页阅读文章,该页面打开时带有以下路线。我在module.ts中提到过这条路线 这是带有页眉和页脚的空白页面。 https://sampledomain.in/news/

现在我想根据链接提供的news-link-url路径获取新闻内容。 https://sampledomain.in/news/xxxxxxx

我需要在此“https://sampledomain.in/news/”页面中获取此“xxxxxx”值,并且需要在从数据库中提取后填充数据。

2 个答案:

答案 0 :(得分:0)

如果你使用角度2或以上,这应该是解决方案:

let id = this.router.url.substr(this.router.url.lastIndexOf("/") + 1)

然后你需要在你的ts中添加这两件事:

import {Router} from '@angular/router';

constructor(private router: Router) { }

只有在app.module.ts或routing.module.ts中有导入RouterModule时,才能执行最后2个语句,否则会出错。

答案 1 :(得分:0)

找到解决方案:它是参数化路由

//Set routing in app.module.ts
const appRoutes: Routes = [
 { path: 'news/:urlLink', component: ArticlereaderComponent },
 { path: '', component: HomeComponent }

 ]



//Get the Value in the destination component

 constructor(private route: ActivatedRoute) {
    this.route.params.subscribe( params => {
    console.log(params.urlLink);
});

}

这个结肠的东西“路径:'news /:urlLink'”做了这个伎俩,我没有意识到这一点。