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 相关文章推荐
HTML中Select不用Disabled实现ReadOnly的效果
Apr 07 Javascript
JS 实现Json查询的方法实例
Apr 12 Javascript
ExtJs设置GridPanel表格文本垂直居中示例
Jul 15 Javascript
jquery 实现密码框的显示与隐藏示例代码
Sep 18 Javascript
jQuery与Ajax以及序列化
Feb 01 Javascript
jQuery自定义组件(导入组件)
Nov 08 Javascript
微信小程序 传值取值的几种方法总结
Jan 16 Javascript
angular.js指令中transclude选项及ng-transclude指令详解
May 24 Javascript
原生JS+HTML5实现的可调节写字板功能示例
Aug 30 Javascript
浅析Proxy可以优化vue的数据监听机制问题及实现思路
Nov 29 Javascript
基于原生js实现九宫格算法代码实例
Jul 03 Javascript
基于javascript的无缝滚动动画实现2
Aug 07 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
1 Tube Radio
2021/03/02 无线电
PHP parse_url 一个好用的函数
2009/10/03 PHP
php启用zlib压缩文件的配置方法
2013/06/12 PHP
Thinkphp无限级分类代码
2015/11/11 PHP
浅谈PHP值mysql操作类
2016/06/29 PHP
PHP中通过getopt解析GNU C风格命令行选项
2019/11/18 PHP
web 页面分页打印的实现
2009/06/22 Javascript
JavaScript 浮点数运算 精度问题
2009/10/06 Javascript
jQuery操作checkbox选择(list/table)
2013/04/07 Javascript
基于jQuery实现图片的前进与后退功能
2013/04/24 Javascript
不使用浏览器运行javascript代码的方法
2013/07/24 Javascript
点击进行复制的JS代码实例
2013/08/23 Javascript
深入理解Javascript作用域与变量提升
2013/12/09 Javascript
javascript实现炫酷的拖动分页
2015/05/11 Javascript
jquery对象和DOM对象的相互转换详解
2016/10/18 Javascript
JavaScript 中 avalon绑定属性总结
2016/10/19 Javascript
微信小程序 Windows2008 R2服务器配置TLS1.2方法
2016/12/05 Javascript
vue.js实现价格格式化的方法
2017/05/23 Javascript
微信小程序引用公共js里的方法的实例详解
2017/08/17 Javascript
Vue组件模板及组件互相引用代码实例
2020/03/11 Javascript
[05:56]第十六期——新进3大C之小兔基
2014/06/24 DOTA
基于python代码实现简易滤除数字的方法
2018/07/17 Python
python中类的属性和方法介绍
2018/11/27 Python
django的csrf实现过程详解
2019/07/26 Python
python读取tif图片时保留其16bit的编码格式实例
2020/01/13 Python
Python接口测试结果集实现封装比较
2020/05/01 Python
解决python执行较大excel文件openpyxl慢问题
2020/05/15 Python
python 实现图片裁剪小工具
2021/02/02 Python
突袭HTML5之Javascript API扩展4—拖拽(Drag/Drop)概述
2013/01/31 HTML / CSS
德国二手设计师时装和复古时装跳蚤市场:Mädchenflohmarkt
2020/11/09 全球购物
物流合作计划书
2014/01/10 职场文书
授权委托书格式模板
2014/04/03 职场文书
2014年秋季开学演讲稿
2014/05/24 职场文书
村安全生产责任书
2014/08/25 职场文书
小学一年级学生评语大全
2014/12/25 职场文书
Java中Quartz高可用定时任务快速入门
2022/04/03 Java/Android