路由跳转

1. 模板方式:<ANY  routerLink='/ucenter'></ANY>

2. 脚本方式:  constructor(private router:Router){ }

this.router.navigateByUrl('/ucenter')

路由参数:

1.{path:'product/detail/:lid',component: ...}

2.<ANY   routerLink="/product/detail/">

3.ProductDetailComponent.ts

constructor(private route:ActivatedRoute,private http:HttpClient){ }

ngOnInit(){

this.route.params.subscribe((data)=>{data.lid})

}

练习:创建下述组件:

ng   g   component index             点击超链接,可以跳转到用户中心

ng   g   component user-center

ng   g   not-found

为每个组件分配路由地址:app.module.ts

indexComponent:      ""

UserCenterComponent:    "user/center"

NotFoundComponent:    "**"

声明路由组件的挂载点/路由出口:  app.component.html

<router-outlet></router-outlet>

访问测试:

点击超链接,可以跳转到用户中心-----用两种方法实现

1.补充知识点:路由嵌套

一级路由:

index:   首页

user/center:用户中心

二级路由:

user/center/info:          用户中心>我的信息

user/center/avatar:       用户中心>更改头像

user/center/security:    用户中心>安全管理

路由嵌套修改路由词典:

const   routes = [

{ path:'index',component:IndexComponent },

{

path:'user/center',

component:UserCenterComponent,

children:[

{ path:'info',component: InfoComponent },

{ path:'avatar',component:  AvatarComponent},

{ path:'security',component: SecurityComponent }

]

}

]

注意:"用户中心"下的二级路由组件挂载点/路由出口应该放在UserCenter.component.html中

2.补充知识点:路由守卫

商业项目中,有些路由地址只能在特定条件下才能访问,例如;

用户中心,只能在登录后访问(回话限制);

TMOOC视频播放,只能在学校内播放(客户端IP地址限制);

VIP学院视频播放,只能自13:00~220:00时间内才能播放(时间限制);

商城后台所有页面,只能登录为管理员后才能使用(权限限制);

.....

Angular提供了“路由守卫(Guard)‘’来实现访问路由组件前的检查功能:如果检查通过(return true)就放行;

如果检查不通过(return false)就阻止访问。

使用路由守卫的步骤:

1.创建路由守卫class ----- 可使用 ng  generate guard  守卫名

@Injectable({  providedIn:'root' })

export class LoginGuard{

canAactivate(){

return true        //允许激活

return false       //阻止激活

}

}

2.在路由词典中使用路由守卫

{path:'',component:..,canActivate:[LoginGuard]}

练习:创建路由守卫TimeGuard,检测当前系统时间,如果在6点~23点之间允许访问,

否则不允许访问;把此守卫用于“用户中心”组件。

3.创建移动App可用技术

技术名称                         典型代表                                      优势                               劣势

 

原生开发                     Android:Java或Kotlin               运行速度快、功能丰富               两张设备互不兼容,开发速度慢

Native  Code          IOS:Object-C或Swift

--------------------------------------------------------------------------------------------------------------

WebView开发          Vue.js + Mint-UI                开发速度快                            运行速度慢、功能有限

HTML5/CSS/JS

--------------------------------------------------------------------------------------------------------------

混编开发                  Phonegap/Cordova             开发速度快、                      运行速度慢

H5 + 原生               Angular + lonic                    功能丰富

--------------------------------------------------------------------------------------------------------------

JS Bridge              React  + ReactNative           开发速度快、                       两种平台下原生

编码是JS,运行的是原生代码                                 运行速度快、                       组件效果不一样

功能丰富

------------------------------------------------------------------------------------------------------------

GPU绘图                   Google  Flutter/Dart          运行速度快、                         目前还有不足(例如绘图库

功能丰富、                           代码过大)

两种平台下的效果完全一样

-----------------------------------------------------------------------------------------------------------------

关于Vue.js的组件库/资料:      github搜  awesome  vue

关于Angular的组件库/资料:   github搜  awesome   angular

关于React的组件库/资料:       github搜  awesome  react

Angular路由知识点的更多相关文章

  1. angular路由——ui.route

    angular路由 使用案例 <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...

  2. angular路由详解:

    1.$routeProvider ngRoute模块中的服务 2.otherwise:设置用于路由改变时,与任何其他定义的路由无法匹配的时候执行的代码 3.when:为$route服务定义新的路由 例 ...

  3. angular 路由的引用

    使用angular路由 遇到的坑. 使用cmd 安装好node.js 安装成功 输入node  -v 能查看版本说明安装成功 搭建angular项目输入命令 npm install  -g  angu ...

  4. angular 路由项目例子

    angular 路由是我在工作中体验非常便捷的一点, 这是详细的API ,查看API 可以了解很多东西, https://github.com/angular-ui/ui-router/wiki/Qu ...

  5. Angular路由参数传递

    一.路由时传递参数的方式 1.在查询参数中传递数据 //页面 <a routerLink="/product" [queryParams]="{id:1}" ...

  6. angular路由(自带路由篇)

    一.angular路由是什么? 为了实现SPA多视图的切换的效果,其原理可简述为每个 URL 都有对应的视图和控制器.所以当我们给url后面拼上不同的参数就能通过路由实现不同视图的切换. 二.文件总览 ...

  7. Angular路由守卫 canActivate

    作用 canActivate 控制是否允许进入路由. canActivateChild 等同 canActivate,只不过针对是所有子路由. 关键代码 创建路由守卫 import { Injecta ...

  8. Angular路由守卫 canDeactivate

    目的 离开页面时,做出逻辑判断 以ng-alain的项目为基础做演示 效果如图: 关键代码 定义一个CanDeactivateGuardService export class CanDeactiva ...

  9. Angular 路由守卫

    1. 路由 Angular路由: 可以控制页面跳转:可以在多视图间切换: 2. 路由守卫 Angular路由守卫: 在进入或离开某路由时,用于判断是否可以离开.进入某路由::: return true ...

随机推荐

  1. 十六, Oracle约束

    前言 数据的完整性用于确保数据库数据遵从一定的商业和逻辑规则,在oracle中,数据完整性可以使用约束.触发器.应用程序(过程.函数)三种方法来实现,在这三种方法中,因为约束易于维护,并且具有最好的性 ...

  2. 2019-2020-1 20199328《Linux内核原理与分析》第十一周作业

    预备实验部分 2019/11/27 10:17:34 下载安装后的界面,如图1 出现vulnerable字样,发现了shellshock漏洞,如图2 实验部分 2019/11/27 10:26:48 ...

  3. Vue Cli 3 打包上线 部署到Apache Tomcat服务器

    使用 npm run build 打包项目 在根目录中有一个dist文件夹 我使用的服务器是 Apache  Tomcat 把项目放进tomcat /webapps 中 启动服务器 <mac O ...

  4. FileZilla更新服务器文件后浏览器没有刷新的一种常见情况

    一.问题描述 在使用FileZilla更新服务器文件时,常出现的一种情况是: 刷新浏览器,发现该网页并未更新.但是检查网页源代码可以发现文件已经更新了,这就奇怪了,是服务器出了问题吗?还是FileZi ...

  5. 【ElasticSearch学习】之一图读懂文档索引全过程

    ES索引过程详解: 1.客户端发送索引请求. 客户端向ES节点发送索引请求,以RestClient客户端发起请求为例: ES提供了Java High Level REST Client,用户可以通过R ...

  6. PLDroidPlayer 是七牛推出的一款免费的适用于 Android 平台的播放器 SDK,采用全自研的跨平台播放内核,拥有丰富的功能和优异的性能,可高度定制化和二次开发。 https://developer.qiniu.com/pili/sdk/…

    PLDroidPlayer PLDroidPlayer 是一个适用于 Android 平台的音视频播放器 SDK,可高度定制化和二次开发,为 Android 开发者提供了简单.快捷的接口,帮助开发者在 ...

  7. 数学--数论--HDU 6063 RXD and math (跟莫比乌斯没有半毛钱关系的打表)

    RXD is a good mathematician. One day he wants to calculate: output the answer module 109+7. p1,p2,p3 ...

  8. JavaScript从入门到精通(转)

    JavaScript从入门到精通 转自: https://github.com/Eished/JavaScript_notes 视频连接:https://www.bilibili.com/video/ ...

  9. python进程/线程/协程

    一 背景知识 顾名思义,进程即正在执行的一个过程.进程是对正在运行程序的一个抽象. 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一.操作系统的其他所 ...

  10. django最全面的知识点,直接开发完整手机购物商城练手,

    带手机验证码登陆, 带全套购物车系统 带数据库 前后端分离开发 带定位用户功能 数据库代码为本地制作好了 带支付宝支付系统 带django开发服务器接口教程 地址: https://www.duans ...