zoukankan      html  css  js  c++  java
  • angular路由学习笔记

    文章目录

    标签routerLink路由传递参数

    url中get传值

    // queryParams 传递的是一个对象
    <a [routerLink]="[ '/endpage/']" [queryParams]="{name:'huangbiao',age:30}">endpage</a>

    定义路由

    const routes: Routes = [
      { path: 'endpage', component: EndPageComponent }
    ];
    url的地址是 http://localhost:4200/endpage?name=huangbiao&age=30

    获取参数

    import { Component, OnInit } from '@angular/core';
    import {ActivatedRoute} from '@angular/router';
    
    @Component({
      selector: 'app-end-page',
      templateUrl: './end-page.component.html',
      styleUrls: ['./end-page.component.scss']
    })
    export class EndPageComponent implements OnInit {
      constructor(public route:ActivatedRoute) { }
    
      ngOnInit() {
        console.dir(this.route);
        debugger
        this.route.params.subscribe((data)=>{
          console.log(data); // 打印的是一个对象,key为name和age
        });
      }
    
    }
    

    获取参数要依赖注入 route:ActivatedRoute对象

    配置动态路由

    // 第一个参数对应路由的name,第二个参数对应路由的age
    <a [routerLink]="[ '/endpage/', 'huangbiao','30' ]">endpage</a>

    定义路由

    const routes: Routes = [
      { path: 'endpage/:name/:age', component: EndPageComponent }
    ];
    url地址是 http://localhost:4200/endpage/huangbiao/30

    获取参数

    import { Component, OnInit } from '@angular/core';
    import {ActivatedRoute} from '@angular/router';
    
    @Component({
      selector: 'app-end-page',
      templateUrl: './end-page.component.html',
      styleUrls: ['./end-page.component.scss']
    })
    export class EndPageComponent implements OnInit {
      constructor(public route:ActivatedRoute) { }
    
      ngOnInit() {
        console.dir(this.route);
        debugger
        this.route.params.subscribe((data)=>{
          console.log(data); // 打印的是一个对象,key为name和age
        });
      }
    
    }

    API js路由跳转

    配置动态路由

    this.router.navigate(['/newscontent/','1243'])
    //this.router.navigate(['/home']);

    如果是动态路由,则路由后面的/是不能少的

    定义路由

    const routes: Routes = [
      { path: 'endpage', component: EndPageComponent }
    ];
    url地址是 http://localhost:4200/endpage/huangbiao/30

    获取参数

    import { Component, OnInit } from '@angular/core';
    import { Router} from '@angular/router';
    
    @Component({
      selector: 'app-end-page',
      templateUrl: './end-page.component.html',
      styleUrls: ['./end-page.component.scss']
    })
    export class EndPageComponent implements OnInit {
      constructor(public router:Router) { }
    
      ngOnInit() {
        console.dir(this.route);
        debugger
        this.route.params.subscribe((data)=>{
          console.log(data); // 打印的是一个对象
        });
      }
    
    }

    get传值

    this.router.navigate(['/news'],{
        queryParams:{
        aid:123
        }
    });

    定义路由

    const routes: Routes = [
      { path: 'endpage', component: EndPageComponent }
    ];
    url地址是 http://localhost:4200/endpage/huangbiao/30

    获取参数

    import { Component, OnInit } from '@angular/core';
    import { Router} from '@angular/router';
    
    @Component({
      selector: 'app-end-page',
      templateUrl: './end-page.component.html',
      styleUrls: ['./end-page.component.scss']
    })
    export class EndPageComponent implements OnInit {
      constructor(public router:Router) { }
    
      ngOnInit() {
        console.dir(this.route);
        debugger
        this.route.params.subscribe((data)=>{
          console.log(data); // 打印的是一个对象
        });
      }
    
    }
    

      

    1.以根路由跳转/login

    this.router.navigate(['login']);

    2.设置relativeTo相对当前路由跳转,route是ActivatedRoute的实例,使用需要导入ActivatedRoute

    this.router.navigate(['login', 1],{relativeTo: route});

    3.路由中传参数 /login?name=1

    this.router.navigate(['login', 1],{ queryParams: { name: 1 } });

    4.preserveQueryParams默认值为false,设为true,保留之前路由中的查询参数/login?name=1 to /home?name=1

    this.router.navigate(['home'], { preserveQueryParams: true });

    5.路由中锚点跳转 /home#top

    this.router.navigate(['home'],{ fragment: 'top' });

    6.preserveFragment默认为false,设为true,保留之前路由中的锚点/home#top to /role#top

    this.router.navigate(['/role'], { preserveFragment: true });

    7.skipLocationChange默认为false,设为true,路由跳转时浏览器中的url会保持不变,但是传入的参数依然有效

    this.router.navigate(['/home'], { skipLocationChange: true });

    8.replaceUrl默认为true,设为false,路由不会进行跳转

    this.router.navigate(['/home'], { replaceUrl: true });

  • 相关阅读:
    WPF DelegateCommand 出现Specified cast is not valid
    WPF DelegateCommand 出现Specified cast is not valid
    WPF DelegateCommand 出现Specified cast is not valid
    win10 sdk 是否向下兼容
    win10 sdk 是否向下兼容
    win10 sdk 是否向下兼容
    PHP extract() 函数
    PHP end() 函数
    PHP each() 函数
    PHP current() 函数
  • 原文地址:https://www.cnblogs.com/PearlRan/p/10869760.html
Copyright © 2011-2022 走看看