AngularJS 4(七)【路由】

AngularJS 路由 路由(Routing)是AngularJS中用于处理URL到视图映射的机制。通过路由,用户可以通过URL访问不同的视图,而无需重新加载整个页面。AngularJS路由系统允许我们定义多个视图,并为每个视图分配一个URL模板。AngularJS路由是一个强大的功能,它允许我们构建响应式、交互式的单页应用程序。通过本文的介绍,相信您已经对AngularJS路由有了基本的了解。在实际开发中,请灵活运用路由功能,为用户提供更好的用户体验。 阅读详情

路由

通过 URL 映射到对应的功能实现,也就是不同的 URL 会渲染对应的组件。URL 的切换实际就是组件之间的切换。

简单的路由入门

宿主页面 – index.html
大多数带路由的应用都要在 index.html 的 <head> 标签下先添加一个 <base>元素,来告诉路由器该如何合成导航用的URL。

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Project</title>
    <base href="/">
    <link rel="icon" type="image/x-icon" href="favicon.ico">
</head>
<body>
    <app-root></app-root>
</body>
</html>

路由配置文件 – router.js
路由器需要先配置才会有路由信息,用 RouterModule.forRoot 方法来配置路由器, 并把它的返回值添加到 AppModule 的 imports 数组中。

import { RouterModule, Routes } from '@angular/router';
import { StudentsComponent } from '../components/students/students.component';
import { LoginComponent } from '../components/login/login.component';

const appRoutes: Routes = [
    {path: 'login', component: LoginComponent},
    {path: 'students', component: StudentsComponent},
]

export const RootRouter = RouterModule.forRoot(
    appRoutes,
    { enableTracing: true } // <-- debugging purposes only
  )

根组件 – app.component.html
路由切换时要把对应的组件输出到对应的位置,该位置称之为路由出口 <router-outlet></router-outlet>
一个模板中只能有一个未命名的 <router-outlet>。 但路由器可以支持多个命名的路由出口。

<h1>app</h1>
<a routerLink="/login">Login</a>
<a routerLink="/students">Student</a>
<router-outlet></router-outlet>

根模块 – app.module.ts

import {RootRouter} from './router/root.router';
@NgModule({
    imports: [
        RootRouter
    ]
})
通配符路由

除路由配置表中的路由,浏览器访问其它路由都会报错。Angular 提供了一个通配符路由来拦截所有无效的路由,也就是所有不在路由配置表中的路由都会导航到该路由。

const appRoutes: Routes = [
    {path: '**', component: PagenotfoundComponent}
]
重定向路由

重定向路由需要一个pathMatch属性,来告诉路由器如何用URL去匹配路由的路径,否则路由器就会报错。也就是说路由器应该只有在完整的URL等于”时才选择 LoginComponent 组件,因此我们要把pathMatch设置为’full’。

const appRoutes: Routes = [
    {path: '', redirectTo: '/login', pathMatch: 'full'},
]
路由参数

路由配置表

const appRoutes: Routes = [
    {path: 'students/:id/:name', component: StudentsComponent}
]

接收参数

import { Component, OnInit } from '@angular/core';
import { Router, ActivatedRoute, ParamMap } from '@angular/router';

@Component({
  selector: 'app-students',
  templateUrl: './students.component.html',
  styleUrls: ['./students.component.css']
})
export class StudentsComponent implements OnInit {
    constructor(private route: ActivatedRoute, private router: Router) { }
    ngOnInit() {
        //转成对象
        this.route.params.subscribe((params) => {
            console.log(params);
        });
        //单个接收
        this.route.snapshot.paramMap.get('name');
    }
}
路由跳转
this.router.navigate(['/students/10/admin']);
路由嵌套

路由配置表

const appRoutes: Routes = [
    {
        path: 'students', 
        component: StudentsComponent,
        children: [
            {path: 'get', component: GetComponent}
        ]
    }
]

在 StudentsComponent 中要添加 <router-outlet></router-outlet>

Open UI5 源代码解析之1136:TextView.js TextView.js是SAP OpenUI5框架中的基础文本控件实现,继承自sap.ui.core.Control,具有以下核心特点: 功能定位:作为兼容性组件,虽被sap.m.Text替代但仍承担旧系统支撑、基础文本展示和上层组件桥梁作用。 模块化设计:通过5个依赖分工明确: encodeXML处理XSS防护 分离的渲染器模块管理DOM输出 库级枚举支持多语言/样式配置 元数据驱动:通过metadata声明: 可绑定的text属性 国际化敏感的textDirection和textAlign 无障碍支持a 阅读详情

相关推荐

解密UFS Explorer:Drobo BeyondRAID数据恢复实战指南

本文详细介绍了使用UFS Explorer Professional Recovery软件中的Drobo BeyondRAID助手进行数据恢复的完整实战流程。当Drobo设备因BeyondRAID配置信息丢失而无法访问时,该工具能安全、只读地扫描硬盘,虚拟重建存储池,帮助用户找回宝贵数据。指南涵盖了从前期准备、硬盘选择、配置扫描到数据安全导出的每一步关键操作与常见问题解决方案。

weixin_29219539的博客 268

Angular之<router-outlet>

angular默认了index.html 是整个APP的页面入口。 是在angular.json文件中配置的: index.html代码如下: 代码中有一段是 <app-root></app-root> 这段会被app.component.html页面所替换掉 <router-outlet> 是一个占位符,Angular 会根据当前的路由器状态动态填充它。 <!-- app.component.html --> <ul> <li&

平平无奇小码农的博客 6610

Docker部署OnlyOffice踩坑实录:解决editor.bin下载失败的3种姿势

本文详细解析了Docker部署OnlyOffice时editor.bin下载失败的常见原因,并提供了三种核心解决方案。重点剖析了容器网络配置、Nginx反向代理(特别是proxy_pass设置)以及安全策略调整,帮助开发者彻底解决静态资源加载问题,确保文档协作平台稳定运行。

weixin_29281941的博客 869

angular中router-outlet插槽的使用 (路由配置)

一、页面结构 二、首页内容 三、路由配置 module.ts中 import {NgModule} from '@angular/core'; import {CommonModule} from '@angular/common'; import {RouterModule, Routes} from '@angular/router'; import {VirtualOrgComponent} from './virtual-org.component'; import {NgZorroAntdMo

Imency的博客 3554

FreeRTOS项目:智能手表(1);

从 “最底层启动”→“系统基础配置”→“硬件驱动”→“中间件能力封装”→“上层业务功能”,分层递进、从基础到应用,就能逐步把整个项目的逻辑串联起来~

weixin_46847454的博客 1446

Ubuntu20.04下运行VINS系列:VINS-Mono、VINS-Fusion和GVINS

安装好了VINS-Mono所需的ROS noetic、Eigen3.4.0、Ceres2.10和OpenCV4.2.0等。VINS-Mono是在ROS melodic以及Ceres1的环境下开发的,因此需要适配高版本的环境。

zardforever123的博客 2万+

Angular4学习笔记(三):router

router:一条大路呦,通呀通我家

龙骑将的城堡 2万+

手把手教你用STM32CubeMX和HAL库驱动DW3000:从SPI配置到第一个测距Demo

本文详细介绍了如何使用STM32CubeMX和HAL库驱动DW3000 UWB定位通信模块,从SPI配置到实现厘米级测距Demo的全过程。涵盖硬件连接、SPI通信调试、驱动移植及双向测距(TWR)算法实现,帮助开发者快速掌握UWB高精度定位技术,适用于仓储物流、智能家居等场景。

weixin_27038245的博客 485

angular4子路由&辅助路由

子路由学习笔记: 子路由和路由一样的配置方法,都是声明好路由的入口,路由的路径,路由的出口,不一样的是自路由是嵌套在副路由里面的并且由children表明这是子路由且可以无限循环嵌套。 路由入口:需要注意的是在子路由的入口处不能再用/来跟路径名,/会告诉angular去找跟组件,就会找到跟组件对应的模块,子路由需要用./ 根路由入口: [routerLink]="['/']">主页 [

涂涂 1万+

损失函数大汇总(八)(IoU Loss附公式推导与代码)

本文详细介绍了IoU Loss及其在图像分割中的应用。IoU(交并比)是衡量预测区域与真实区域重叠程度的指标,IoU Loss定义为1-IoU,直接优化区域重叠质量。文章推导了IoU的数学表达式和梯度计算,分析了其函数特性:全局耦合梯度、对漏检误检的双重惩罚、适合类别不平衡任务。与Dice Loss相比,IoU更强调覆盖质量而非相似度。实际应用中IoU Loss常与BCE组合使用,前者保证训练稳定性,后者优化整体区域质量。文章还提供了IoU Loss的代码实现,适用于二值分割、小目标提取等场景,特别当任务评

悦学共鸣,温柔以待,汇聚光芒,共同成长 413

说说angularjs路由$state和$stateParams

文章涉及的内容比较多,但是都是关于angularjs路由的知识,故此放在一起。 本文从三个方向来分析: 1、angularjs中的路由 2、$state 3、$stateParams angularjs路由 首先解释一下什么是路由,平常我们都在说路由,那在一个web网站中,路由是什么呢? 知乎的一个大神总结的很棒,在web开发中,“route”是指根据url分配到对应的处理程序。ht

Cassie's blog 4万+

自动批量安装加载cran, bioconductor和github三个平台的所有的R包

自动批量安装加载cran, bioconductor和github三个平台的所有的R包

qq_40073899的博客 557

angularjs简单的路由跳转

创建路由: 首先创建一个带路由的项目 创建需要的组件 在根模块里引入组件(用命令创建的组件会自动引入到根模块) 配置路由: import {HomeComponent } from './components/home/home.component'; //在路由模块里引入组件 {path: 'home',component:HomeComponent}, //并在routes里配置...

qq_43688916的博客 2406

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

angularjs:路由设置

mycrm项目登录后,进入index界面,设计成左边是一个菜单栏,右边作为一个详情页面,前端采用了angular后使用路由可以很好的解决这个问题; 图1-1 图1-2 具体设计看下面代码: var aoorey= angular.module('aoorey', [ 'ngRoute','ui.bootstrap','aoorey.controller','ao

ljxbbss的博客 3448

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

AngularJS路由和模板

1. AngularJS路由介绍 AngularJS路由功能是一个纯前端的解决方案,与我们熟悉的后台路由不太一样。后台路由,通过不同的URL会路由到不同的控制器上(controller),再渲染(render)到页面(HTML)。AngularJS的前端路由,需求提前对指定的(ng-app),定义路由规则(routeProvider),然后通过不同的URL,告诉(ng-app)加载哪个页面(HT

2万+

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

AngularJs 路由

router路由 router路由是angularJs用于构建单页面应用的模块 本质是从a标签点击跳转功能延展而来的 (1)router功能的实现需要引入,angular.route.min.js (2)router功能的实现需要以来ng-view指令 1、提供标注,显示不同页面容器的作用 (3)router功能的实现需要a标签的href属性 1、href='#要加载的页面代号...

weixin_43294560的博客 667

【AngularJS】——核心特性之路由

在上一篇文章【 AnglularJS】——几大核心特性(一)中,分享了AngularJS的两个特性:MVC和ng的模块化。今天介绍一下ng的路由机制。       1、AngularJS路由介绍       AngularJS路由功能主要实现一个视图跳转的功能,合理管理用户在使用过程中看到的界面。通过路由的设置,根据当前访问的URL展示对应的视图。       ng的路由机制

杨晓敏 1128

angularjs中关于路由

angular.js中 路由 用法及概念   在开讲之前,首先谈谈APP应用。平时我们用的app总是多页面,如果用原生安卓或者苹果,那当然很流畅啦。但是当我们用一般的html页面做移动端,简单时候我们可以用这样的标签去链接页面时,速度还是可以的。   但是当我们的应用越来越多时,切换起来没那么流畅。又是碍于网速,页面加载进来有点慢。但是在angular里面,我们可以用路由进行切换。因为在a

fengqishixiangni_qin的专栏 356

angularjs路由_AngularJS路由示例– ngRoute,$ routeProvider

angularjs路由Today we will look into AngularJS Routing example using ngRoute module and $routeProvider. Earlier we looked into AngularJS Modules and AngularJS Controllers. 今天,我们将研究使用ngRoute模块和$ routePro...

从零开始的教程世界 465

angularJS路由跳转

html> html lang="en"> head> <!-- 这是我做的五个angularJS的切换跳转 因为时间原因只做了1 3 5 这三个 第一个是网络的请求数据 第二个是列表排序 第三个是小游戏 输入数字大小判断 --> meta charset="UTF-8"> title>路由title> script src="angular1.4.6.min.js

Myworldlet的博客 1464

angularjs 路由机制

前言 AngularJS路由主要有内置的ngRoute和一个基于ngRoute开发的第三方路由模块ui-router,内置的ngRoute有时满足开发需求,使用ui-router可以解决很多原生ngRoute的不足。AngularJS的路由实际上是一种纯前端的解决方案,它的本质是:当请求一个url时,根据路由配置这个url,然后再请求模板片段,并插入到ng-view中。Angular...

dhxiyzqv45340的博客 264

angularjsl路由_AngularJS-路由

1、首先我们要引进angular.js和angular-route.js文件2、然后我们要在html中创建锚点和容器(ng-view) 第一页 第二页 3、在模块中注入ngRoute依赖angular.module('myApp',['ngRoute'])4、配置路由config(['$routeProvider',function ($routeProvider) {$routeProvide...

weixin_32568295的博客 405
上一篇: AngularJS 4(六)【依赖注入】
下一篇: AngularJS、 Angular 2、Angular 4 的区别
.NET跨平台
博客等级 码龄15年 6066粉丝 738原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值