AngularJs之八

时间:2021-02-22 00:08:04

***今天讲一下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,&dollar;http)篇

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

  3. AngularJs之九(ending&period;&period;&period;&period;&period;&period;&rpar;

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

  4. AngularJS过滤器filter-保留小数,小数点-&dollar;filter

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

  5. Angular企业级开发&lpar;1&rpar;-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. 去掉开始菜单中新装程序的红色标记【Windows】

    右键开始,属性,开始菜单,自定义,去掉突出新程序.完成.

  2. setOnKeyListener响应两次问题

    1.Android一次按下操作定义了两个事件,ACTION_DOWN和ACTION_UP,即按下和松手两个动作.   2.除了判断是什么按键被按下,还应该判断按键是up还是down   3.调用eve ...

  3. Microsoft Office 2010 requires 的 MSXML 版本 6&period;10&period;1129&period;0 be 已安装在您计算机的安装&quot&semi;的基于 Windows 7 的计算机上安装 Office 2010 时出现错误消息

    https://support.microsoft.com/zh-cn/kb/2290714

  4. easyui tree在struts1中的使用

    前段时间写过类似的功能,开发环境是struts2,jdk1.6,tomcat 而这次是修改N年前的项目 项目的开发环境为struts1,jdk1.4,weblogic8,比较过时所以就增加了使用eas ...

  5. Java多线程(七)——线程休眠

    一.sleep()介绍 sleep() 定义在Thread.java中.sleep() 的作用是让当前线程休眠,即当前线程会从“运行状态”进入到“休眠(阻塞)状态”.sleep()会指定休眠时间,线程 ...

  6. android textview支持多种格式跳转

    http://www.linuxidc.com/Linux/2011-08/40530p2.htm 1.android:autoLink属性,使TextView中链接手机号码/网页/邮件/地图 and ...

  7. kubernetes daahboard权限限制

    dashboard在多人使用的时候经常遇到误操作的情况,为了对dashboard进行限制,对dashboard进行了权限控制, 这里主要限制只允许pod被删除.1:创建对应权限的ClusterRole ...

  8. php分页类学习

    分页是目前在显示大量结果时所采用的最好的方式.有了下面这些代码的帮助,开发人员可以在多个页面中显示大量的数据.在互联网上,分​页是一般用于搜索结果或是浏览全部信息(比如:一个论坛主题).几乎在每一个W ...

  9. openerp domain 規則

    oe中的domain多用于自定义搜索条件. domain中的单个条件是一个三个元素组成的元组.第一个是对象的一个column,也就是字段名:第二个是比较运算符``=, !=, & gt;, & ...

  10. Faster R-CNN改进篇(一): ION ● HyperNet ● MS CNN

    一. 源起于Faster 深度学习于目标检测的里程碑成果,来自于这篇论文: Ren, Shaoqing, et al. "Faster R-CNN: Towards real-time ob ...