angular路由(自带路由篇)
一、angular路由是什么?
为了实现SPA多视图的切换的效果,其原理可简述为每个 URL 都有对应的视图和控制器。所以当我们给url后面拼上不同的参数就能通过路由实现不同视图的切换。
二、文件总览
1.新建文件
一级目录新建ngRoute.html(为主页面,里面进行路由配置)
一级目录新建view文件夹,里面再新建三个子页面aboutus.html,home.html,order.html
一级目录存放angular.js和angular-route.js文件,文件存放位置依自己喜好即可
2.ngRoute.html代码展示
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="angular.min.js"></script>
<script src="angular-route.js"></script>
</head>
<body ng-app='myApp'>
<a href="#/home">HOME</a>
<a href="#/aboutus">AHOUTUS</a>
<a href="#/order">ORDER</a>
<!--ng-view相当于之前的div#container,用来展示子视图-->
<ng-view></ng-view>
<!--ng-view和下面的代码等价-->
<!--<div id="container" ng-view></div>-->
</body>
<script>
var app=angular.module("myApp",['ngRoute']);
//配置路由
app.config(function($routeProvider){
//如果是home 让ng-view里面的视图是home.html
$routeProvider
.when('/home',{
templateUrl:'view/home.html',
controller:'homeVC'
})
.when('/aboutus',{
templateUrl:'view/aboutus.html',
controller:'aboutusVC'
})
.when('/order',{
templateUrl:'view/order.html',
controller:'orderVC'
})
.otherwise({
redirectTo:'/home' //重定向到home页面
})
});
//配置Controller
app.controller('homeVC',function($scope,$routeParams){
console.log($routeParams);
$scope.title='我是homeVC'
});
app.controller('aboutusVC',function($scope){
$scope.title='我是aboutusVC'
});
app.controller('orderVC',function($scope){
$scope.title='我是orderVC'
}); </script>
</html>
页面定义了三个路由,并默认重定向到了home页面,三个页面分别配置控制器controller,里面都定义了变量title的值。结构层的a标签通过#/参数的形式给url添加参数,然后根据定义的路由找到相应的参数,将相应的子页面放入ng-view容器中。
3.子页面代码展示
<h1>{{title}}</h1>
为了简化操作,三个子页面都只存放了一条相同的代码。title变量因为控制器赋值不同而展示不同的信息。
三、效果展示
打开页面,默认展示home子页面信息,如下:
点击AHOUTUS,子页面进行切换,如下:
点击ORDER,如下:
这样就实现了angular一级路由的切换效果,用来实现移动端导航还是很使用的,但若是需要二级路由,三级路由,这时我们就需要用到第三方路由,由于是采用的第三方插件,所以写法和用法有些差异,angular路由(第三方路由篇)做详细介绍。
angular路由(自带路由篇)的更多相关文章
- angular路由——ui.route
angular路由 使用案例 <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...
- angular路由详解:
1.$routeProvider ngRoute模块中的服务 2.otherwise:设置用于路由改变时,与任何其他定义的路由无法匹配的时候执行的代码 3.when:为$route服务定义新的路由 例 ...
- angular 路由的引用
使用angular路由 遇到的坑. 使用cmd 安装好node.js 安装成功 输入node -v 能查看版本说明安装成功 搭建angular项目输入命令 npm install -g angu ...
- angular 路由项目例子
angular 路由是我在工作中体验非常便捷的一点, 这是详细的API ,查看API 可以了解很多东西, https://github.com/angular-ui/ui-router/wiki/Qu ...
- Angular Material 教程之布局篇
Angular Material 教程之布局篇 (一) : 布局简介https://segmentfault.com/a/1190000007215707 Angular Material 教程之布局 ...
- Angular路由参数传递
一.路由时传递参数的方式 1.在查询参数中传递数据 //页面 <a routerLink="/product" [queryParams]="{id:1}" ...
- Angular路由守卫 canActivate
作用 canActivate 控制是否允许进入路由. canActivateChild 等同 canActivate,只不过针对是所有子路由. 关键代码 创建路由守卫 import { Injecta ...
- Angular路由守卫 canDeactivate
目的 离开页面时,做出逻辑判断 以ng-alain的项目为基础做演示 效果如图: 关键代码 定义一个CanDeactivateGuardService export class CanDeactiva ...
- Angular 路由守卫
1. 路由 Angular路由: 可以控制页面跳转:可以在多视图间切换: 2. 路由守卫 Angular路由守卫: 在进入或离开某路由时,用于判断是否可以离开.进入某路由::: return true ...
随机推荐
- Linux/Mac vi命令详解
刚开始学着用Linux,对vi命令不是很熟,在网上转接了一篇. vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指 ...
- 用xmanager6启动Linux上的图形界面程序
1.下载Xmanager6 并自行安装,这里不赘述了 2.打开Xmanager.启动Xstart 3.按提示输入:主机IP,协议,用户名,命令,完成后点击“保存”,接着点击“运行”,运行xmanage ...
- 使用let's encrypt为你的Ubuntu14+nginx网站保驾护航!
finch最近正在研究一个新的网站系统,闲的没事想搞搞ssl,结果搞了两天,遇到很多问题,现在记录并分享一下经验. 环境之前搭建好了是Ubuntu14+nginx+php5+mysql 现在开始使用l ...
- Python组织文件 实践:拷贝某种类型的所有文件
#! python3 #chapter09-test01- 遍历目录树,查找特定扩展名的文件不论这些文件的位置在哪里,都将他们 #拷贝到一个新的文件夹中 import os,shutil,pprint ...
- #ifdef__cplusplus
百度知道: 一般用于将C++代码以标准C形式输出(即以C的形式被调用),这是因为C++虽然常被认为是C的超集,但是C++的编译器还是与C的编译器不同的.C中调用C++中的代码这样定义会是安全的. 一般 ...
- 为什么Java里的Arrays.asList不能用add和remove方法?
在平时的开发过程中,我们知道能够将一个Array的对象转化为List.这种操作,我们仅仅要採用Arrays.asList这种方法即可了.笔者前段时间一直用这种方法,有一天,我发现通过Arrays.as ...
- Android布局文件的载入过程分析:Activity.setContentView()源代码分析
大家都知道在Activity的onCreate()中调用Activity.setContent()方法能够载入布局文件以设置该Activity的显示界面.本文将从setContentView()的源代 ...
- 权重轮询调度算法 java版本号
权重轮询调度算法(Weighted Round-Robin Scheduling)--java版本号 因为每台server的配置.安装的业务应用等不同.其处理能力会不一样.所以,我们依据server的 ...
- Effective C++ 条款13
以对象管理资源 资源的种类非常多,动态分配的内存.文件描写叙述器.相互排斥锁.图像界面中画刷.数据库连接.网络socket等. 资源通常是有限的.当你不用时,必须释放.不然就会造成资源浪费.更严重的情 ...
- h5语音播放(移动端)
<!--语音导航 start--> <div style="border:0px solid red;width:100%;height:72px;position:rel ...