zoukankan      html  css  js  c++  java
  • angular 路由传参

    第一种形式: 传字符串

    第一步: 组件传参; 选择routerLink或navigate形式

    (1). routerLink配置形式 (transmiteData= JSON.stringify({name: '11', id: '22'}); JSON字符串)

    <a class="ori-text" href="javascript:;" [routerLink] = "['/child', 'aa']">...</a>
    <a class="ori-text" href="javascript:;" [routerLink] = "['/child', transmiteData ]">...</a>
    

    (2). navigate配置形式

    // 第一步:引入Router对象
    import {Router} from '@angular/router';
     // 第二步:在构造函数中注入 
    constructor(private _router: Router) { }
     // 第三步:配置跳转
    this._router.navigate(['child', this.transmiteData]);
    
    

    第二步: 配置路由

    {path: 'child/:obj', component: ChildComponent}
    

    第三步: ChildComponent取参数 --- 注意取值时用的是ActivatedRoute的params;

    // 第一步:引入Router对象
    import {ActivatedRoute} from '@angular/router';
     // 第二步:在构造函数中注入 
    constructor(private _activateRoute: ActivatedRoute) { }
    // 第三步:取路由参数
    this._activateRoute.params.subscribe((data: any) => {
           console.log(data.obj);
    });
    

    第二种形式: 传JSON对象

    第一步: 组件传参; 选择routerLink或navigate形式

    (1). routerLink配置形式 (transmiteData= {name: '11', id: '22'}; JSON对象)

    <a href="javascript:;" [routerLink]="['/dhild']" [queryParams]="{id: 1, name: '111'}" >...</a>
    <a href="javascript:;" routerLink="/child" (click)="transParams()">...</a>
    

    (2). navigate配置形式

    // 此处_router指的是Router对象
    this._router.navigate(['rxjs'], {queryParams: {id: '111', name: '222'}});
    

    第二步: 配置路由

    {path: 'child', component: ChildComponent}
    

    第三步: ChildComponent取参数 --- 注意取值时用的是ActivatedRoute的queryParams;

    // 此处的_activatedRouter指的是ActivatedRoute对象;
    this._activatedRouter.queryParams.subscribe((data: Params) => {
           console.log(data);
    })
    
  • 相关阅读:
    音频可视化
    accunulate
    node
    js 中编码(encode)和解码(decode)的三种方法
    ES6高阶 同步和异步 回调地狱 promise async和await
    区间dp
    树形dp1
    背包dp(多重)
    树形dp
    背包dp(完全)
  • 原文地址:https://www.cnblogs.com/zero-zm/p/9844945.html
Copyright © 2011-2022 走看看