AngularJs之八
***今天讲一下angularJs的路由功能:
一:angularJs路由。
1.AngularJS 路由允许我们通过不同的 URL 访问不同的内容。
2.通过 AngularJS 可以实现多视图的单页Web应用 。
3.通常我们的URL形式为 http://网址/first/page,但在单页Web应用中 AngularJS 通过 # + 标记 实现 。
例如:
http://hengboit.com/#/first
http://hengboit.com/#/second
http://hengboit.com/#/third
当我们点击以上的任意一个链接时,向服务端请的地址都是一样的 。 因为 # 号之后的内容在向服务端请求时会被浏览器忽略掉。 所以我们就需要在客户端实现 # 号后面内容的功能实现。 AngularJS 路由 就通过 # + 标记 帮助我们区分不同的逻辑页面并将不同的页面绑定到对应的控制器上。
二:路由实例及讲解。
<script src="js/angular.min.js"></script>
<script src="js/angular-route.min.js"></script>
<div ng-app="myapp">
<ul>
<li><a href="#/">首页</a></li>
<li><a href="#/about">关于我们</a></li>
<li><a href="#/news">新闻动态</a></li>
<li><a href="#/lianxi">联系方式</a></li>
</ul> <div ng-view></div>
</div>
<script>
angular.module('myapp',['ngRoute'])
.config(['$routeProvider', function($routeProvider){
$routeProvider
.when('/',{template:'这是首页页面'})
.when('/about',{template:'这是关于我们页面'})
.when('/lianxi',{template:'这是联系方式页面'})
.otherwise({redirectTo:'/'});
}]);
</script>
注意:使用路由要记得引入路由route的js文件。
以下是这个实例的讲解:
1.载入了实现路由的 js 文件:angular-route.js。
2.包含了 ngRoute 模块作为主应用模块的依赖模块。 angular.module('myapp',['ngRoute'])
3.使用 ngView 指令。<div ng-view></div> ,该 div 内的 HTML 内容会根据路由的变化而变化。
4.配置 $routeProvider,用来定义路由规则。
(1)config 函数用于配置路由规则
(2)$routeProvider.whenAPI来定义我们的路由规则
a.第一个参数是 URL 或者 URL 正则规则
b.第二个参数是路由配置对象。
三:路由设置对象。
路由配置对象的语法规则:
$routeProvider.when(url, {
template: string,
templateUrl: string,
controller: string,
function 或 array,
controllerAs: string,
redirectTo: string, function, resolve: object<key, function>
});
参数说明:
template:在 ng-view 中插入简单内容,使用该参数
templateUrl:在 ng-view 中插入 HTML 模板文件时,使用该参数
controller: function、string或数组类型,在当前模板上执行的controller函数,生成新的scope
controllerAs:为controller指定别名
redirectTo:重定向的地址。
resolve:指定当前controller所依赖的其他模块。
四:最后写一个使用模板的实例。
<div ng-app="mapp">
<script type="text/ng-template" id="view/list.html">
<h3>这是列表页</h3>
<ul>
<li ng-repeat="id in mm"><a href="#/list/{{ id }}"> ID{{ id }}</a></li>
</ul>
</script>
<a href=“#/list”>打开列表页</a>
<div ng-view></div>
</div>
<script src="../js/angular.min.js"></script>
<script src="../js/angular-route.min.js"></script>
<script>
var app=angular.module('mapp',['ngRoute']);
app.config(['$routeProvider',function($routeProvider){
$routeProvider.when("/list",{templateUrl:"view/list.html",controller: 'listcontroller'});
$routeProvider.otherwise({redirectTo:''});
}]);
app.controller("listcontroller",function($scope){
$scope.mm=[1,2,3,4,5];
})
</script>
AngularJs之八的更多相关文章
- angularjs学习之八(angularjs中isolate scope的使用)
angular js中指令directive有个特别实用的东西,那就是 isolate scope (被隔离的scope) 关于详细他和全局的scope 有什么差别.能够參考以下这篇博文: Angul ...
- 通过AngularJS实现前端与后台的数据对接(二)——服务(service,$http)篇
什么是服务? 服务提供了一种能在应用的整个生命周期内保持数据的方法,它能够在控制器之间进行通信,并且能保证数据的一致性. 服务是一个单例对象,在每个应用中只会被实例化一次(被$injector实例化) ...
- AngularJs之九(ending......)
今天继续angularJs,但也是最后一篇关于它的了,基础部分差不多也就这些,后续有机会再写它的提升部分. 今天要写的也是一个基础的选择列表: 一:使用ng-options,数组进行循环. <d ...
- AngularJS过滤器filter-保留小数,小数点-$filter
AngularJS 保留小数 默认是保留3位 固定的套路是 {{deom | number:4}} 意思就是保留小数点 的后四位 在渲染页面的时候 加入这儿个代码 用来精确浮点数,指定小数点 ...
- Angular企业级开发(1)-AngularJS简介
AngularJS介绍 AngularJS是一个功能完善的JavaScript前端框架,同时是基于MVC(Model-View-Controller理念的框架,使用它能够高效的开发桌面web app和 ...
- 模拟AngularJS之依赖注入
一.概述 AngularJS有一经典之处就是依赖注入,对于什么是依赖注入,熟悉spring的同学应该都非常了解了,但,对于前端而言,还是比较新颖的. 依赖注入,简而言之,就是解除硬编码,达到解偶的目的 ...
- 步入angularjs directive(指令)--点击按钮加入loading状态
今天我终于鼓起勇气写自己的博客了,激动与害怕并存,希望大家能多多批评指导,如果能够帮助大家,也希望大家点个赞!! 用angularjs 工作也有段时间了,总体感觉最有挑战性的还是指令,因为没有指令的a ...
- 玩转spring boot——结合AngularJs和JDBC
参考官方例子:http://spring.io/guides/gs/relational-data-access/ 一.项目准备 在建立mysql数据库后新建表“t_order” ; -- ----- ...
- 玩转spring boot——结合jQuery和AngularJs
在上篇的基础上 准备工作: 修改pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=&q ...
随机推荐
- 论:开发者信仰之“天下IT是一家“(Java .NET篇)
比尔盖茨公认的IT界领军人物,打造了辉煌一时的PC时代. 2008年,史蒂夫鲍尔默接替了盖茨的工作,成为微软公司的总裁. 2013年他与微软做了最后的道别. 2013年以后,我才真正看到了微软的变化. ...
- ES5对Array增强的9个API
为了更方便的对Array进行操作,ES5规范在Array的原型上新增了9个方法,分别是forEach.filter.map.reduce.reduceRight.some.every.indexOf ...
- OpenSceneGraph in ActiveX by ActiveQt
OpenSceneGraph in ActiveX by ActiveQt eryar@163.com Abstract. Qt’s ActiveX and COM support allows Qt ...
- 参考bootstrap中的popover.js的css画消息弹框
前段时间小颖的大学同学给小颖发了一张截图,图片类似下面这张图: 小颖当时大概的给她说了下,其实小颖也不知道上面那个三角形怎么画嘻嘻,给她说了DOM结构,具体的css让她自己百度,今天小颖自己参考boo ...
- MAC下 mysql不能插入中文和中文乱码的问题总结
MAC下 mysql不能插入中文和中文乱码的问题总结 前言 本文中所提到的问题解决方案,都是基于mac环境下的,但其他环境,比如windows应该也适用. 问题描述 本文解决下边两个问题: 往mysq ...
- 深入理解CSS六种颜色模式
前面的话 赏心悦目的颜色搭配让人感到舒服,修改元素颜色的功能让人趋之若鹜.但颜色规划不当,会让网站用户无所适从.颜色从<font color="">发展至今,保留了很多 ...
- LINQ to SQL Select查询
1. 查询所有字段 using (NorthwindEntities context = new NorthwindEntities()) { var order = from n in contex ...
- js 基础篇(点击事件轮播图的实现)
轮播图在以后的应用中还是比较常见的,不需要多少行代码就能实现.但是在只掌握了js基础知识的情况下,怎么来用较少的而且逻辑又简单的方法来实现呢?下面来分析下几种不同的做法: 1.利用位移的方法来实现 首 ...
- Mysql - 触发器/视图
触发器在之前的项目中, 应用的着实不多, 没有办法的时候, 才会去用这个. 因为这个东西在后期并不怎么好维护, 也容易造成紊乱. 我最近的项目中, 由于数据库设计(别人设计的)原因, 导致一些最简单功 ...
- Oozie分布式任务的工作流——Spark篇
Spark是现在应用最广泛的分布式计算框架,oozie支持在它的调度中执行spark.在我的日常工作中,一部分工作就是基于oozie维护好每天的spark离线任务,合理的设计工作流并分配适合的参数对于 ...