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 相关文章推荐
非常好的js代码
Jun 27 Javascript
Javascript面向对象设计一 工厂模式
Dec 20 Javascript
使用struts2+Ajax+jquery验证用户名是否已被注册
Mar 22 Javascript
创建一个类Person的简单实例
May 17 Javascript
微信小程序  modal弹框组件详解
Oct 27 Javascript
AngularJS控制器之间的通信方式详解
Nov 03 Javascript
功能强大的jquery.validate表单验证插件
Nov 07 Javascript
JS函数多个参数默认值指定方法分析
Nov 28 Javascript
Bootstrap源码解读模态弹出框(11)
Dec 28 Javascript
详解如何提高 webpack 构建 Vue 项目的速度
Jul 03 Javascript
jQuery中each方法的使用详解
Mar 18 jQuery
JS函数节流和防抖之间的区分和实现详解
Jan 11 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 变量未定义等错误的解决方法
2011/01/12 PHP
Joomla使用Apache重写模式的方法
2016/05/04 PHP
浅谈php中fopen不能创建中文文件名文件的问题
2017/02/06 PHP
php 使用expat方式解析xml文件操作示例
2019/11/26 PHP
用Javascript读取中文COOKIE的解决办法
2007/02/15 Javascript
jQuery 添加/移除CSS类实现代码
2010/02/11 Javascript
javascript 手动给表增加数据的小例子
2013/07/10 Javascript
使用jQuery异步加载 JavaScript脚本解决方案
2014/04/20 Javascript
jQuery提交多个表单的小技巧
2014/07/27 Javascript
node.js中的fs.symlinkSync方法使用说明
2014/12/15 Javascript
js实现简洁的滑动门菜单(选项卡)效果代码
2015/09/04 Javascript
MVC+jQuery.Ajax异步实现增删改查和分页
2020/12/22 Javascript
Angular JS 生成动态二维码的方法
2017/02/23 Javascript
uploader秒传图片到服务器完整代码
2017/04/22 Javascript
js字符串与Unicode编码互相转换
2017/05/17 Javascript
vue2.X组件学习心得(新手必看篇)
2017/07/05 Javascript
轻松搞定jQuery+JSONP跨域请求的解决方案
2018/03/06 jQuery
JS的函数调用栈stack size的计算方法
2018/06/24 Javascript
vue实现底部菜单功能
2018/07/24 Javascript
vue mounted 调用两次的完美解决办法
2018/10/29 Javascript
微信小程序的注册页面包含倒计时验证码、获取用户信息
2019/05/22 Javascript
[02:56]DOTA2矮人直升机 英雄基础教程
2013/11/26 DOTA
[42:32]Secret vs Optic 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[59:35]DOTA2-DPC中国联赛定级赛 Aster vs DLG BO3第一场 1月8日
2021/03/11 DOTA
使用python编写监听端
2018/04/12 Python
python实现列表中由数值查到索引的方法
2018/06/27 Python
numpy 对矩阵中Nan的处理:采用平均值的方法
2018/10/30 Python
很酷的python表白工具 你喜欢我吗
2019/04/11 Python
django+tornado实现实时查看远程日志的方法
2019/08/12 Python
python实现在内存中读写str和二进制数据代码
2020/04/24 Python
沪江旗下的海量优质课程平台:沪江网校
2017/11/07 全球购物
Ray-Ban雷朋奥地利官网:全球领先的太阳眼镜品牌
2020/10/12 全球购物
工程监理应届生求职信
2013/11/09 职场文书
函授毕业自我鉴定
2013/12/19 职场文书
优秀演讲稿范文
2013/12/29 职场文书
浅析Redis Sentinel 与 Redis Cluster
2021/06/24 Redis