zoukankan      html  css  js  c++  java
  • 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,就这样完美的解决了。

  • 相关阅读:
    Linux 添加Nginx 到 service 启动
    PHP编译安装时常见错误解决办法,php编译常见错误
    7 适配器模式
    6 单例模式及其多线程问题
    5 简单工厂、工厂、抽象工厂
    4 装饰者模式
    3 观察者模式
    2 策略模式
    1 UML基础
    代码操作Word时,目录自动更新的两种方法
  • 原文地址:https://www.cnblogs.com/minigrasshopper/p/7691773.html
Copyright © 2011-2022 走看看