AngularJS路由Ui-router模块用法示例


Posted in Javascript onMay 29, 2017

本文实例讲述了AngularJS路由Ui-router模块用法。分享给大家供大家参考,具体如下:

由于某些设计原因,AngularJS原生的路由模块有一些缺点,比如说不支持view的嵌套等,所以有许多社区开始自己设计路由模块,最有代表性的就是ui-route了。

ui-route是一个功能强大的路由模块,它在原生的ng-route模块上加强了其他方面的功能。

现在就开始做几个DEMO接触一下ui-route。

<!--初始页面-->
<!doctype html>
<meta charset="UTF-8">
<html>
<head>
  <link href="self.css" rel="external nofollow" rel="stylesheet">
</head>
<body >
<div ng-app="myApp">
<div><a ui-sref = "index">首页</a></div>
<div ui-view></div><!--这里是路由视图存放的地方-->
</div>
<script src="angular.min.js"></script>
<script src="angular-ui-router.js"></script>
<script src="test2.js"></script>
</body>
</html>

首先必须引用angular-ui-router.js文件。这个文件是区别于AngularJs的angular-route.js文件的。而且必须把该文件放在angular.min.js下面。

观察一下Html的body代码,可以发现有三个地方与使用原生的ng-route时的body代码不同。他们分别是ui-sref , index 以及ui-view 。先跳过,看一下如何初始化ui-route模块。

初始化ui-route模块:

var app = angular.module('myApp',['ui.router']);
app.config(["$stateProvider",function($stateProvider){
  $stateProvider
    .state("index",{
      url:'/',
      template:'<div>我是首页内容</div>'
    })
}]);

首先,和原生ng-route路由模块相似的是,必须先把ui-route注入。然后再进行具体的配置。与原生的ng-route不同的是,ui-route用state() 代替了原生的when() ,它在when(),的基础上新增了一个参数,这里是index,用以区分这部分路由对哪一个命令进行响应。

回到之前的<div><a ui-sref = "index">首页</a></div> ,大概就知道他们视图和它之间的关系了。ui-view 代替了以往的ng-view ,ui-sref 替换掉了以前的ng-href,而它也不再是指向链接,而是指向“导航”的名字。

其中的url属性可以唯一标识改路由的后续地址,用以跟后面的路由进行区分。

希望本文所述对大家AngularJS程序设计有所帮助。

Javascript 相关文章推荐
JavaScript网页制作特殊效果用随机数
May 22 Javascript
Javascript 静态页面实现随机显示广告的办法
Nov 17 Javascript
jquery 单击li防止重复加载的实现代码
Dec 24 Javascript
关于jQuery的inArray 方法介绍
Oct 08 Javascript
JavaScript分页功能的实现方法
Apr 25 Javascript
浅谈Javascript线程及定时机制
Jul 02 Javascript
jQuery动态改变多行文本框高度的方法
Sep 07 Javascript
vue.js国际化 vue-i18n插件的使用详解
Jul 07 Javascript
百度地图去掉marker覆盖物或者去掉maker的label文字方法
Jan 26 Javascript
JS实现继承的几种常用方式示例
Jun 22 Javascript
原生js实现日历效果
Mar 02 Javascript
JavaScript设计模式之策略模式实现原理详解
May 29 Javascript
Angular2学习教程之组件中的DOM操作详解
May 28 #Javascript
Angular2学习教程之ng中变更检测问题详解
May 28 #Javascript
Angular2使用jQuery的方法教程
May 28 #jQuery
Angular.js实现动态加载组件详解
May 28 #Javascript
利用node.js如何搭建一个简易的即时响应服务器
May 28 #Javascript
利用Angular.js编写公共提示模块的方法教程
May 28 #Javascript
Angular2入门教程之模块和组件详解
May 28 #Javascript
You might like
用PHP来写记数器(详细介绍)
2006/10/09 PHP
ThinkPHP处理Ajax返回的方法
2014/11/22 PHP
Yii开启片段缓存的方法
2016/03/28 PHP
php观察者模式应用场景实例详解
2017/02/03 PHP
PHP合并数组函数array_merge用法分析
2017/02/17 PHP
PHP编辑器PhpStrom运行缓慢问题
2017/02/21 PHP
JavaScript数字和字符串转换示例
2014/03/26 Javascript
[原创]Bootstrap 中下拉菜单修改成鼠标悬停直接显示
2016/04/14 Javascript
angularjs实现多张图片上传并预览功能
2017/02/24 Javascript
AngularJS 最常用的八种功能(基础知识)
2017/06/26 Javascript
JavaScript中document.referrer的用法详解
2017/07/04 Javascript
vue中实现在外部调用methods的方法(推荐)
2018/02/08 Javascript
使用JSON格式提交数据到服务端的实例代码
2018/04/01 Javascript
一个Vue页面的内存泄露分析详解
2018/06/25 Javascript
ES6知识点整理之对象解构赋值应用示例
2019/04/17 Javascript
使用layui前端框架弹出form表单以及提交的示例
2019/10/25 Javascript
使用Node.js实现base64和png文件相互转换的方法
2020/03/11 Javascript
[02:03]永远的信仰DOTA2 中国军团历届国际邀请赛回顾
2016/06/26 DOTA
[01:03:09]完美世界DOTA2联赛PWL S2 Forest vs SZ 第二场 11.25
2020/11/26 DOTA
Django日志模块logging的配置详解
2017/02/14 Python
对Python3中的input函数详解
2018/04/22 Python
在pyqt5中QLineEdit里面的内容回车发送的实例
2019/06/21 Python
详解Python二维数组与三维数组切片的方法
2019/07/18 Python
python @classmethod 的使用场合详解
2019/08/23 Python
Python进程间通信 multiProcessing Queue队列实现详解
2019/09/23 Python
Python greenlet和gevent使用代码示例解析
2020/04/01 Python
解决HTML5手机端页面缩放的问题
2017/10/27 HTML / CSS
美国休闲服装品牌:Express
2016/09/24 全球购物
介绍一下HDLC(High-Level Data Link Control)高层数据链路协议
2012/01/21 面试题
开放系统互连参考模型
2016/06/29 面试题
医学院校毕业生自荐信范文
2014/01/01 职场文书
平民服装店创业计划书
2014/01/17 职场文书
个人查摆剖析材料
2014/10/16 职场文书
琅琊山导游词
2015/02/05 职场文书
观看《杨善洲》宣传教育片心得体会
2016/01/23 职场文书
Redis集群新增、删除节点以及动态增加内存的方法
2021/09/04 Redis