***今天讲一下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之八的更多相关文章

  1. angularjs学习之八(angularjs中isolate scope的使用)

    angular js中指令directive有个特别实用的东西,那就是 isolate scope (被隔离的scope) 关于详细他和全局的scope 有什么差别.能够參考以下这篇博文: Angul ...

  2. 通过AngularJS实现前端与后台的数据对接(二)——服务(service,$http)篇

    什么是服务? 服务提供了一种能在应用的整个生命周期内保持数据的方法,它能够在控制器之间进行通信,并且能保证数据的一致性. 服务是一个单例对象,在每个应用中只会被实例化一次(被$injector实例化) ...

  3. AngularJs之九(ending......)

    今天继续angularJs,但也是最后一篇关于它的了,基础部分差不多也就这些,后续有机会再写它的提升部分. 今天要写的也是一个基础的选择列表: 一:使用ng-options,数组进行循环. <d ...

  4. AngularJS过滤器filter-保留小数,小数点-$filter

    AngularJS      保留小数 默认是保留3位 固定的套路是 {{deom | number:4}} 意思就是保留小数点 的后四位 在渲染页面的时候 加入这儿个代码 用来精确浮点数,指定小数点 ...

  5. Angular企业级开发(1)-AngularJS简介

    AngularJS介绍 AngularJS是一个功能完善的JavaScript前端框架,同时是基于MVC(Model-View-Controller理念的框架,使用它能够高效的开发桌面web app和 ...

  6. 模拟AngularJS之依赖注入

    一.概述 AngularJS有一经典之处就是依赖注入,对于什么是依赖注入,熟悉spring的同学应该都非常了解了,但,对于前端而言,还是比较新颖的. 依赖注入,简而言之,就是解除硬编码,达到解偶的目的 ...

  7. 步入angularjs directive(指令)--点击按钮加入loading状态

    今天我终于鼓起勇气写自己的博客了,激动与害怕并存,希望大家能多多批评指导,如果能够帮助大家,也希望大家点个赞!! 用angularjs 工作也有段时间了,总体感觉最有挑战性的还是指令,因为没有指令的a ...

  8. 玩转spring boot——结合AngularJs和JDBC

    参考官方例子:http://spring.io/guides/gs/relational-data-access/ 一.项目准备 在建立mysql数据库后新建表“t_order” ; -- ----- ...

  9. 玩转spring boot——结合jQuery和AngularJs

    在上篇的基础上 准备工作: 修改pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=&q ...

随机推荐

  1. Linux下Nodejs安装(完整详细)

    之前安装过windows下以及Mac下的node,感觉还是很方便的,不成想今天安装linux下的坑了老半天,特此记录. 首先去官网下载代码,这里一定要注意安装分两种,一种是Source Code源码, ...

  2. Laravel 5.x 请求的生命周期(附源码)

    Laravel最早接触是刚开始实习的时候,那时通过网上的学习资料很快便上手,开发模块接口.后来没有什么深入和总结,但是当我刚开始学Laravel的时候,我对Laravel最大的认识就是,框架除了路由. ...

  3. 深入研究Visual studio 2017 RC新特性

    在[Xamarin+Prism开发详解三:Visual studio 2017 RC初体验]中分享了Visual studio 2017RC的大致情况,同时也发现大家对新的Visual Studio很 ...

  4. 【详细教程】论android studio中如何申请百度地图新版Key中SHA1值

    一.写在前面 现在越来越多的API接口要求都要求提供我们的项目SHA1值,开发版目前还要求不高,但是发布版是必定要求的.而目前定位在各大APP中也较为常见,当下主流的百度地图和高德地图都在申请的时候会 ...

  5. 使用RequireJS并实现一个自己的模块加载器 (一)

    RequireJS & SeaJS 在 模块化开发 开发以前,都是直接在页面上引入 script 标签来引用脚本的,当项目变得比较复杂,就会带来很多问题. JS项目中的依赖只有通过引入JS的顺 ...

  6. 设计模式之单例模式(Singleton)

    设计模式之单例模式(Singleton) 设计模式是前辈的一些经验总结之后的精髓,学习设计模式可以针对不同的问题给出更加优雅的解答 单例模式可分为俩种:懒汉模式和饿汉模式.俩种模式分别有不同的优势和缺 ...

  7. 屌丝giser成长记-大学篇

    作为一名屌丝giser的我,刚接触gis专业是2007年的大一,好悲催,当时gis这个专业是被调剂的,我压根都不知道gis为何物,那时候gis冷门的一逼,报名这个专业的寥寥无几.记得那时候得知被调剂到 ...

  8. Atitit.研发管理如何避免公司破产倒闭的业务魔咒

    Atitit.如何避免公司破产倒闭的业务魔咒 1. 大型公司的衰落或者倒闭破产案例1 1.1. 摩托罗拉1 1.2. 诺基亚2 1.3. sun2 2. 为什么他们会倒闭?? 常见的一些倒闭元素2 2 ...

  9. Oozie分布式任务的工作流——Spark篇

    Spark是现在应用最广泛的分布式计算框架,oozie支持在它的调度中执行spark.在我的日常工作中,一部分工作就是基于oozie维护好每天的spark离线任务,合理的设计工作流并分配适合的参数对于 ...

  10. Oracle常用SQL函数整理

    --返回ASCII码select  ASCII('A') "A的ASCII码" ,ASCII('a') "a的ASSCII码" from dual ; --反向 ...