navigate实现页面跳转及传参
定义“路由词典”,注册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。
本次用到queryParams属性用于页面传值;
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实现页面跳转及传参相关推荐
- 微信小程序开发:学习笔记[8]——页面跳转及传参
微信小程序开发:学习笔记[8]--页面跳转及传参 页面跳转 一个小程序拥有多个页面,我们可以通过wx.navigateTo推入一个新的页面.在首页使用2次wx.navigateTo后,页面层级会有三层 ...
- vue加载html传参,Vue页面跳转时传参总结
1 路由跳转 &圈是的编小久据直请结未屏屏会气机页实应高lt;router-link to="/login">能调页代事求都学是功发解开宗这维视如间请前框来 ...
- 小程序页面跳转与传参
1.页面跳转 页面跳转优先采用 navigator 组件 小程序提供了两种页面路由方式: a. navigator 组件 <navigator url="/pages/life/lif ...
- 微信小程序页面跳转url传参,对象数据过长问题
小程序url传参如果是对象的话需要先用JSON.stringify()转换一下,接受页面在用JSON.parse()再转换回来. 但这样传参有一个问题,当对象数据长度过大时会报错,因为url传参时程序 ...
- ajax 跳转 html页面传值,ajax实现页面跳转并传参
javascript" name=code class="page_speeder_20720">整理版 $.ajax({ type:"POST" ...
- 小程序页面跳转、传参及参数获取
//wxml <text wx:for="{{titles}}" wx:key="{{index}}" bindtap='changeClassify' ...
- ajax实现页面跳转并传参,jQuery实现页面跳转的时候Post传参
需求:JavaScript 控制POST的数据内容并从当前页跳转到B页面 方案一 方案一定义一个函数,这样就是丑了点,但是完全符合需求. function StandardPost (url,args ...
- spring mvc controller间跳转 重定向 传参
spring mvc controller间跳转 重定向 传参 1. 需求背景 需求:spring MVC框架controller间跳转,需重定向.有几种情况:不带参数跳转,带参数拼接url形 ...
- 一篇文章说完Flutter页面路由导航及传参
目录 前言 动态路由 静态路由 静态路由传参 Fluro 实现路由导航与传参 前言 在 Flutter 中,App 多个页面之间的跳转是由 Navigator(导航器)来管理的,如常见的 Naviga ...
- Swift实战-豆瓣电台(六)视图跳转,传参及回跳
原文:Swift实战-豆瓣电台(六)视图跳转,传参及回跳 youku观看地址:http://v.youku.com/v_show/id_XNzMxMzQ3MDcy.html 要点 在ChannelCo ...
最新文章
- kangle代理服务器限制客户端使用时间
- 选购四级网络工程师优质辅导书的几点建议
- 苹果状态栏HTML,CSS3实现苹果电脑的DOCK菜单栏_html/css_WEB-ITnose
- 写给开发向产品转型的同学的3句话
- 加入域--深入理解DNS在域中作用
- C# JObject转换JSON文件相关处理
- 电源模块怎么选?以下6点你都知道吗?
- 《我的第一本算法书》 - 学习记录
- OGRE粒子系统简介
- java的swing案例
- 寻仙服务器要维护多久,新寻仙正式服5.0.6.1更新公告
- 神经网络分析教学目标,神经网络分析教学反思
- python接私活王者_[宜配屋]听图阁
- [EXCEL] 宏的录制、调用和删除
- LAMMPS+Gaussian专题
- matplotlib调整坐标轴最小刻度单位,坐标轴主副刻度单位
- 西瓜书——多元线性回归(知识点:多元实值函数凹凸性的证明)
- Latex学习笔记 (Ex4)希腊字母、罗马字母一览表
- WebSocket connection to 'ws://localhost:8080/shipinceshi/video/1546871583183
- java获得日期去掉横杠,python怎么去掉日期中的横杠?
热门文章
- springboot生成二维码可扫描自定义内容
- 第三章:Servlet、ServletConfig、ServletContext
- 融云集成一个聊天室页面(vue版本)
- 计算机招聘试题选择题,计算机考试题库:计算机基础练习题(39)
- 初中计算机竞赛面试题目及答案,2019上半年初中信息技术教师资格面试真题及答案(第一批)...
- 青出于蓝胜于蓝 (dfs序 + BIT)
- 南部龙凤小学:六一文艺表演
- Attributes as Operators
- 资本运作下的腾讯和帝国梦想
- CentOS Stream 9 下如何安装使用花生壳并做内网穿透建站