angular中默认路由的理解用法详解

 更新时间:2022年02月02日 16:53:57   作者:longkui  
这篇文章主要介绍了angular中的默认路由的用法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

0.前言

前一段时间折腾angular的路由折腾的够呛, 这篇文章简单介绍一下自己的理解及用法。

1.路由的功能及原理

一开始并不理解路由的存在,因为学习html的时候,访问模式是下面这样子:

也就是网址会直接访问到我们的页面。那这样有不好吗?或者说有什么问题吗?一个小demo确实没有什么问题?但是设想两个情景。

情景1:在一个功能/页面的的前提下有很多子功能或者子页面。我们这个时候可能会多建一个文件夹来区分这些功能或者页面。越多的话越难管理。

情景2:安全及权限类问题,因为所有的URL都可以直接访问网页,无法区分不同权限的用户可以访问哪些页面,这个在一个成型的网站中是必备的功能,因为你不可能任由一个普通用户访问管理员用户才有的功能。

angular中的路由主要就是完成这些事的,可以用下面这张图来简单表示下

也就是在用户和网页之间再加一道关卡,由这道关卡负责校验用户权限、确定具体访问哪个页面等。这就是路由的主要作用。

2.默认路由的使用

angular项目使用ng指令创建的时候,设定有一个默认路由。位置如下图:

比如我们使用ng g c teacher

创建一个teacher组件

然后,上面的下面改成下面这样:

import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { TeacherComponent } from './teacher/teacher.component';
 
const routes: Routes = [
{path:"tea",component:TeacherComponent}
];
 
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }

注:典型的angular路由(Route)有两个属性:

1.path:表示你访问的路径,类似于www.xxx.com/tea这种

2.component:表示你访问这个路径指向具体哪个组件

比如说上面的例子中,访问localhost:4200/tea,它应该访问的就是TeacherComponent这个组件,但是我们还没有配置完。

注意查看一下:app.module.ts中是否添加了AppRoutingModule和我们刚才添加的TeacherComponent 这个组件。

然后在app.component.html中添加下面的信息:

<router-outlet></router-outlet>
<div>
  这是默认主页
 </div> 

执行ng serve。然后访问localhost:4200。你就会看到下面的页面:

然后访问localhost:4200/tea。就会看到下面的页面:

可以看到,我们刚才创建的组件被成功加载出来了。

如果一开始你需要看一个全屏页面的话, app.component.html只留一个<router-outlet></router-outlet>就行。

同理,如果需要展示其他页面,通过ng 指令新建组件后,然后也是在app-routing.module.ts中加入类似下面的代码

import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { StudentComponent } from './student/student.component';
import { TeacherComponent } from './teacher/teacher.component';
 
const routes: Routes = [
{path:"tea",component:TeacherComponent},
{path:"stu",component:StudentComponent}
];
 
@NgModule({
imports: [RouterModule.forRoot(routes)], // 初始化路由器,并让它开始监听浏览器的地址变化
exports: [RouterModule],
 
})
export class AppRoutingModule { }

同时不能忘记app.module.ts中也要通不加入组件。然后访问localhost:4200/stu 就可以看到新创建的页面了

到此这篇关于angular中的默认路由的用法的文章就介绍到这了,更多相关angular默认路由内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • AugularJS从入门到实践(必看篇)

    AugularJS从入门到实践(必看篇)

    下面小编就为大家带来一篇AugularJS从入门到实践(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • Angular ElementRef简介及其使用

    Angular ElementRef简介及其使用

    这篇文章主要介绍了Angular ElementRef简介及其使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10
  • angularjs封装bootstrap时间插件datetimepicker

    angularjs封装bootstrap时间插件datetimepicker

    这篇文章主要介绍了angularjs封装bootstrap时间插件datetimepicker 的相关资料,需要的朋友可以参考下
    2016-06-06
  • Angular应用里异步打开对话框技术详解

    Angular应用里异步打开对话框技术详解

    这篇文章主要为大家介绍了Angular应用里异步打开对话框技术详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • AngularJS 过滤与排序详解及实例代码

    AngularJS 过滤与排序详解及实例代码

    这篇文章主要介绍了AngularJS 过滤与排序,这里整理了详细的资料及简单实例代码,有需要的小伙伴可以参考下
    2016-09-09
  • 简介AngularJS的视图功能应用

    简介AngularJS的视图功能应用

    这篇文章主要介绍了AngularJS的视图功能应用,包括ng-view和ng-template以及$routeProvider的使用,以及 $routeProvider 需要的朋友可以参考下
    2015-06-06
  • Angular 4.x 动态创建表单实例

    Angular 4.x 动态创建表单实例

    本篇文章主要介绍了Angular 4.x 动态创建表单实例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • AngularJS中$apply方法和$watch方法用法总结

    AngularJS中$apply方法和$watch方法用法总结

    这篇文章主要介绍了AngularJS中$apply方法和$watch方法用法,结合实例形式总结分析了$apply方法和$watch方法的功能、参数含义、使用技巧与相关注意事项,需要的朋友可以参考下
    2016-12-12
  • angular使用post、get向后台传参的问题实例

    angular使用post、get向后台传参的问题实例

    本篇文章主要介绍了angular使用post、get向后台传参的问题实例。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • AngularJS实现分页显示数据库信息

    AngularJS实现分页显示数据库信息

    这篇文章主要为大家详细介绍了AngularJS实现分页显示数据库信息效果的相关资料,感兴趣的小伙伴们可以参考一下
    2016-07-07

最新评论