Rumah >hujung hadapan web >tutorial js >浅谈angular4.0中路由传递参数、获取参数最nice的写法

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

亚连
亚连asal
2018-05-31 10:01:091453semak imbas

下面小编就为大家分享一篇浅谈angular4.0中路由传递参数、获取参数最nice的写法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

研究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,就这样完美的解决了。

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

基于vue中css预加载使用sass的配置方式详解

微信小程序中实现手指缩放图片的示例代码

基于vue.js实现的分页

Atas ialah kandungan terperinci 浅谈angular4.0中路由传递参数、获取参数最nice的写法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn