Angular Route导航
我们用Angular cli创建带有路由的新项目
- ng new router --routing
Angular Routes API文档
Angular的文档中有详细的解释:
1)https://angular.cn/docs/ts/latest/api/router/index/Routes-type-alias.html
2)https://angular.cn/docs/ts/latest/guide/router.html#
文档学习:
1)Wild Cards(通配符)
- {path: '**', component: Code404Component},
>注意:配置路由,一定要记得引入文件
- import {Code404Component} from "./code404/code404.component"
> 通配符路由的path是两个星号('**'),它会匹配任何URL。 当路由器匹配不上以前定义的那些路由时,它就会选择<这个>路由。 通配符路由可以导航到自定义的“404 Not Found”组件,也可以[重定向](https://angular.cn/docs/ts/latest/guide/router.html#redirect)到一个现有路由。
2)关于参数的快照(snapshot)和参数的订阅(subscribe)
- export class ProductComponent implements OnInit {
- private productId : number ;
- //给ProductComponent设置一个属性(属性名是productId,属性类型是number)
- constructor(private routerInfo : ActivatedRoute) { }
- //ActivatedRoute当前路由激活的对象,保存着当前路由的信息,比如路由地址和路由参数
- ngOnInit() {
- this.productId = this.routerInfo.snapshot.queryParams["id"]; //参数快照
- this.routerInfo.params.subscribe((params:Params) => this.productId = params ["id"]); //参数订阅
- }
- }
参数快照和参数订阅的区别:

>比如API中的这个图片,
参数快照:点了crisis后再点heroes,然后再点crisis是回不去的。
参数订阅:可以一直切换下去
3)在路由时传递数据(3种方法)
a.在查询参数中传递数据:
- /product?id = 1&name = 2 => ActivatedRoute.queryParams[id]
b.在路由的路径中传递数据:
- {path:/product/:id} => /product/1 => ActivatedRoute.params[id]
c.在路由配置中传递数据
- {path:/product,component;ProductComponent,data:[{isProd:true}] }
- => ActivateRoute.data[0][isProd]
4)路由重定向
添加一个redirect路由来把最初的相对路径('')转换成期望的默认路径(/home)。 浏览器地址栏会显示.../home,就像你直接导航到那里一样。
- const routes:Routes = [
- {path : '' , redirectTo:'/home' , pathMath : 'full'},
- {path : 'home' , component: HomeComponent},
- ]
- //把当前的路由重定向到home路由上
重定向路由需要一个pathMatch属性,来告诉路由器如何使用URL去匹配路由的路径,否则路由就会报错,因此要把pathMacth设置为'full'
Angular Route导航的更多相关文章
- Angular+Bootstrap3导航菜单
Angular+Bootstrap3导航菜单 AngularJS体验式编程系列文章,将介绍如何用angularjs构建一个强大的web前端系统.angularjs是由Google团队开发的一款非常优秀 ...
- 使用Angular Router导航基础
名称 简介 Routes 路由配置,保存着那个URL对应着哪个组件,以及在哪个RouterOulet中展示组件. RouterOutlet 在HTML中标记路由内容呈现位置的占位符指令. Router ...
- angular route 与 django urls 冲突怎么解决?
app.js var app = angular.module('app', [ 'ngResource', 'ngRoute', // 'ui.bootstrap', // 'ngResource' ...
- angular 实现导航ng-click切换
angular写的导航.自学angular已有一段时间. <!doctype html><html lang="en"><head> <m ...
- angular -- $route API翻译
$route -$routeProvider服务 -依赖ngRoute模块 $route能够在路径发生改变的时候,渲染不同的视图,调用不同的控制器.它监测了$location.url(),然后根据路径 ...
- 6、Angular Route 路由
1.没有嵌套路由 类似 ui-route 上述的html用红字标记的是必须导入的.这是因为:路由并不在ng2中,需要我们额外引入,另外我们需要设置base href,这是个什么东西呢?相当于我们后续所 ...
- Angular route传参
从 router-link-page1 跳转 router-link-page2 和 router-link-page3 通过自定义路由 设置router-link-page2的路由后有3个参数,pa ...
- [Angular] N things you might don't know about Angular Route
Prevent Partail Page display: By using Resolver: @Injectable() export class MovieResolver implements ...
- 基于angular的route实现单页面cnodejs
Angular ui-router 前言 之前不太理解前端怎么实现路由功能,以前知道有一种方式使用html5的pushState可以操作url才实现路由的功能,在实践项目中也用过一次,后来这种操作叫成 ...
随机推荐
- Mybatis基础学习(四)—关系映射
一.模型分析 user和orders user---->orders 一个用户可以创建多个订单,一对多. orders--->user 一个订单只由一个用户创建,一对一. orders ...
- Struts2基础学习(八)—Struts2防止表单重复提交
一.原因 用户重复提交表单在某些场合将会造成非常严重的后果.例如,在使用信用卡进行在线支付的时候,如果服务器的响应速度太 慢,用户有可能会多次点击提交按钮,而这可能导致那张信用卡上的金额被消 ...
- java基础之类与对象1
从学习java到现在估计都有一年了,然而在这一年里基本处于三天打鱼五天晒网,感觉自己再不做点改变就是个废人了..T - T. 趁着重新复习java的时间,也顺便用博客来记录学习的过程.好了,废话不说了 ...
- jmeter 登录并发 (此文章有待修改)
1.先通过录制通过取样器找到所需要的请求.并新建添加至线程组,也可以根据以下样式找到所需请求.复制添加至线程组 寻找请求 添加后 2.添加CSV配置元件 3.填写CSV参数 4.修改参数.这是格式:& ...
- 4 安装MPush
cnblogs-DOC 1.服务器环境 2.安装Redis3.安装Zookeeper4.安装MPush5.安装Alloc服务6.完整测试7.常见问题 一.Linux安装Mpush [root@loca ...
- 【PAT_Basic日记】1002. 写出这个数
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { void print ...
- 解决Json传输中文乱码问题
1.如果是通过URL传递:----需要编码两次 var searchText = this.searchText(); searchText = encodeURI(searchText); sear ...
- node-webkit学习之【无边框窗口用JS实现拖动改变大小等】
效果如下图 原生的如下图(原生的用在自己的app上面太丑了,并且还带边框,所以重写了左上角的三个功能键) 1.首先了解一下nw底下的package.json 文件 { "name" ...
- linq 为什么要用linq linq写法
LINQ,语言集成查询(Language Integrated Query)是一组用于c#和Visual Basic语言的扩展.它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作 ...
- 学好php可以做的事情真多!
学好php能做什么?其实学好php能做的事情很多! 一. 学好php可以就业 1:大中小公司通吃. 现在几乎所有有前途的公司都会在互联网上安家.只要在网上安家,就需要找这些方面的技术人员,而且很多公司 ...