定义“路由词典”,注册Router和Routes。

src\app\app.module.ts

import { RouterModule } from '@angular/router'

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { BlueComponent } from './blue/blue.component';
import { YellowComponent } from './yellow/yellow.component';
import { RouterModule } from '@angular/router';
import { WhiteComponent } from './white/white.component'//声明路由词典——路由地址和路由组件的对应集合
let routes = [{path:'blue',component:BlueComponent},{path:'yellow',component:YellowComponent},{path:'',redireactTo:'/white',pathMatch:'full',component:WhiteComponent},{path: '**', component: BlueComponent },
]@NgModule({declarations: [AppComponent,BlueComponent,YellowComponent,WhiteComponent],imports: [BrowserModule,AppRoutingModule,RouterModule,RouterModule.forRoot(routes)],providers: [],bootstrap: [AppComponent]
})
export class AppModule { }

创建路由组件挂载点——“路由出口”

src\app\app.component.html

<div class="bigBox"><div class="content"><div class="left"><button routerLink="/blue">去蓝色页面</button><button (click)="jump()">去黄色页面</button></div><div class="right"><router-outlet></router-outlet></div></div></div>

两个button都有实现路由跳转的功能,一个使用routerLink指令将你定义的路由连接到模板文件中,这里不做过多的赘述,另一个就是用脚本方法实现跳转。

通过脚本方法设置 URL 的查询参数

src\app\app.component.ts

import { Component } from '@angular/core';
import { Router } from '@angular/router'@Component({selector: 'app-root',templateUrl: './app.component.html',styleUrls: ['./app.component.css']
})
export class AppComponent {title = 'angular01';jump(){this.router.navigate(['yellow'],{ queryParams:{name:'小明'} });console.log("切换了我");};constructor(private router: Router){};}

this.router.navigate(['yellow'],{ queryParams:{name:'小明'} });

navigate(commands, extras )基于所提供的命令数组和起点路由进行导航。 如果没有指定起点路由,则从根路由开始进行绝对导航。

  • commands:一个 URL 段的数组,用于构造目标 URL 树。

  • extras:一个选项对象(NavigationExtras),用于确定应如何构造或解释 URL。可选值。默认值为 {skipLocationChange: false }

  • NavigationExtras:修改 Router 导航策略的选项.。为 Router 导航功能提供包含一些属性的对象,以控制应如何构造或解释目标 URL。

  1. 本次用到queryParams属性用于页面传值;

  2. NavigationExtras属性详情参考链接:Angular - NavigationExtras

注意:不要忘了声明依赖Router

import { Router } from '@angular/router';

constructor(private router: Router){};

src\app\yellow.component.ts

import { Component, OnInit } from '@angular/core';
import {  ActivatedRoute } from '@angular/router';@Component({selector: 'app-yellow',templateUrl: './yellow.component.html',styleUrls: ['./yellow.component.css']
})
export class YellowComponent implements OnInit {constructor(private route:ActivatedRoute) { }uname:any="";ngOnInit(): void {//queryParams是一个 Observable,表示所有路由共享的查询参数this.route.queryParams.subscribe((params) => {console.log(params);console.log("切换成功");this.uname =params['name'];});}}

import {  ActivatedRoute } from '@angular/router';

constructor(private route:ActivatedRoute) { }申明依赖ActivatedRoute

ActivatedRoute:允许访问与某出口中加载的组件关联路由信息。用于遍历 RouterState 树并从节点提取信息(激活当前路由中的信息)。

queryParams: Observable<Params>

声明在构造函数中

一个 Observable,表示所有路由共享的查询参数(?)。

ActivatedRoute参考:Angular - ActivatedRoute

获取传值完成绑定

src\app\yellow.component.html

<div class="yellowBox"><p>黄色页面</p><h4>我获取了参数:{{uname}}</h4>
</div>

navigate实现页面跳转及传参相关推荐

  1. 微信小程序开发:学习笔记[8]——页面跳转及传参

    微信小程序开发:学习笔记[8]--页面跳转及传参 页面跳转 一个小程序拥有多个页面,我们可以通过wx.navigateTo推入一个新的页面.在首页使用2次wx.navigateTo后,页面层级会有三层 ...

  2. vue加载html传参,Vue页面跳转时传参总结

    1 路由跳转 &圈是的编小久据直请结未屏屏会气机页实应高lt;router-link   to="/login"&gt能调页代事求都学是功发解开宗这维视如间请前框来 ...

  3. 小程序页面跳转与传参

    1.页面跳转 页面跳转优先采用 navigator 组件 小程序提供了两种页面路由方式: a. navigator 组件 <navigator url="/pages/life/lif ...

  4. 微信小程序页面跳转url传参,对象数据过长问题

    小程序url传参如果是对象的话需要先用JSON.stringify()转换一下,接受页面在用JSON.parse()再转换回来. 但这样传参有一个问题,当对象数据长度过大时会报错,因为url传参时程序 ...

  5. ajax 跳转 html页面传值,ajax实现页面跳转并传参

    javascript" name=code class="page_speeder_20720">整理版 $.ajax({ type:"POST" ...

  6. 小程序页面跳转、传参及参数获取

    //wxml <text wx:for="{{titles}}" wx:key="{{index}}" bindtap='changeClassify' ...

  7. ajax实现页面跳转并传参,jQuery实现页面跳转的时候Post传参

    需求:JavaScript 控制POST的数据内容并从当前页跳转到B页面 方案一 方案一定义一个函数,这样就是丑了点,但是完全符合需求. function StandardPost (url,args ...

  8. spring mvc controller间跳转 重定向 传参

    spring mvc controller间跳转 重定向 传参 1. 需求背景     需求:spring MVC框架controller间跳转,需重定向.有几种情况:不带参数跳转,带参数拼接url形 ...

  9. 一篇文章说完Flutter页面路由导航及传参

    目录 前言 动态路由 静态路由 静态路由传参 Fluro 实现路由导航与传参 前言 在 Flutter 中,App 多个页面之间的跳转是由 Navigator(导航器)来管理的,如常见的 Naviga ...

  10. Swift实战-豆瓣电台(六)视图跳转,传参及回跳

    原文:Swift实战-豆瓣电台(六)视图跳转,传参及回跳 youku观看地址:http://v.youku.com/v_show/id_XNzMxMzQ3MDcy.html 要点 在ChannelCo ...

最新文章

  1. kangle代理服务器限制客户端使用时间
  2. 选购四级网络工程师优质辅导书的几点建议
  3. 苹果状态栏HTML,CSS3实现苹果电脑的DOCK菜单栏_html/css_WEB-ITnose
  4. 写给开发向产品转型的同学的3句话
  5. 加入域--深入理解DNS在域中作用
  6. C# JObject转换JSON文件相关处理
  7. 电源模块怎么选?以下6点你都知道吗?
  8. 《我的第一本算法书》 - 学习记录
  9. OGRE粒子系统简介
  10. java的swing案例
  11. 寻仙服务器要维护多久,新寻仙正式服5.0.6.1更新公告
  12. 神经网络分析教学目标,神经网络分析教学反思
  13. python接私活王者_[宜配屋]听图阁
  14. [EXCEL] 宏的录制、调用和删除
  15. LAMMPS+Gaussian专题
  16. matplotlib调整坐标轴最小刻度单位,坐标轴主副刻度单位
  17. 西瓜书——多元线性回归(知识点:多元实值函数凹凸性的证明)
  18. Latex学习笔记 (Ex4)希腊字母、罗马字母一览表
  19. WebSocket connection to 'ws://localhost:8080/shipinceshi/video/1546871583183
  20. java获得日期去掉横杠,python怎么去掉日期中的横杠?

热门文章

  1. springboot生成二维码可扫描自定义内容
  2. 第三章:Servlet、ServletConfig、ServletContext
  3. 融云集成一个聊天室页面(vue版本)
  4. 计算机招聘试题选择题,计算机考试题库:计算机基础练习题(39)
  5. 初中计算机竞赛面试题目及答案,2019上半年初中信息技术教师资格面试真题及答案(第一批)...
  6. 青出于蓝胜于蓝 (dfs序 + BIT)
  7. 南部龙凤小学:六一文艺表演
  8. Attributes as Operators
  9. 资本运作下的腾讯和帝国梦想
  10. CentOS Stream 9 下如何安装使用花生壳并做内网穿透建站