您的位置:首页 > Web前端 > AngularJS

angular4.0路由传递参数、获取参数最nice的写法

2017-10-19 11:57 323 查看

研究ng4的官网,终于找到了我想要的方法。我想要的结果是用‘&’拼接参数传送,这样阅读上是最好的。否则很多‘/’的拼接,容易混淆参数和组件名称。
一般我们页面跳转传递参数都是这样的格式:
http://angular.io/api?uid=1&username=moon

但是在SPA单页应用中却是下面的结果居多:
http://angular.io/api/1/moon

 

那么怎么实现我说的结果呢?重点开始了。

实现从product页面跳转到product-detail页面。


step1:在app-routing.module.ts中配置路由。

const routes: Routes = [
{
path: 'product',
component: ProductComponent,
},
{
path: 'product-detail',
component: ProductDetailComponent,
}
];

 

step2:在product.ts中书写跳转,并传参数。

constructor(
private router: Router, //这里需要注入Router模块
){}

jumpHandle(){
//这是在html中绑定的click跳转事件
this.router.navigate(['product-detail'], {
queryParams: {
productId: '1',
title: 'moon'
}
});
}

 

step3:在product-detail.ts中获取传递过来的参数productId、title

constructor(
private activatedRoute: ActivatedRoute, //这里需要注入
ActivatedRoute模块
) {
activatedRoute.queryParams.subscribe(queryParams => {
let productId = queryParams.productId;
let title = queryParams.title;
});
}

 

ok,就这样完美的解决了。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: