详解AngularJS ui-sref的简单使用


Posted in Javascript onApril 24, 2017

此篇关于AngularJS ui-sref的简单使用,最近刚好学习,就顺便发到随笔上了

具体用法:

<a ui-sref="man">男人</a>

这是一个非常简单的ui-sref的使用,当JavaScript重新生成网页时,它会查找$state中名为“man”的state,读取这个state的url,然后在a标签里生成href="url" rel="external nofollow" ,

结果为: <a ui-sref="man" href="#/man.html" rel="external nofollow" >男人</a>

但如果,你在创建一个导航控制器,里面有一个导航item的数组:

$scope.items = [ 
 {state: "man", statePage: "man.html"}, 
 {state: "womanMe", statePage: "woman.html"} 
]

然后在html中使用repeat:

<li repeat="item in items"> 
<a ui-sref="{{item.statePage}}"><{{item.state}}</a> 
</li>

ui-sref不支持动态绑定,这样的代码会报错。sref中你只能使用state名,顶多加点参数。

这样的话,你只能放弃sref,用回href绑定,你可以用$state.href来读取state的url。

下面简单介绍下ui-sref参数的传递

页面写法如下

<a ui-sref="man({id:1,name:2})" >按钮</a>

路由里面配置:

$stateProvider.state('man', { 
  url: '/man.html?id&name',     //参数必须先在这边声明 
  templateUrl: '../man.html', 
})

点击连接后,浏览器的地址则会变为:/man.html/id=1&name=2

或者也可以这样

$stateProvider.state('man', { 
  url: '/man.html',      
  templateUrl: '../man.html', 
  params: {'id': null,'name':null},//参数在这边声明 
 
})

 然后在对应的controller里面通过$stateParams取值:$stateParams.id,$stateParams.name

其实ui-sref和$state.go本质上是一个东西,可以看看ui-sref源码

element.bind("click", function(e) { 
  var button = e.which || e.button; 
  if ( !(button > 1 || e.ctrlKey || e.metaKey || e.shiftKey || element.attr('target')) ) { 
 
   var transition = $timeout(function() { 
    // HERE we call $state.go inside of ui-sref 
    $state.go(ref.state, params, options); 
   });

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js数组的基本用法及数组根据下标(数值或字符)移除元素
Oct 20 Javascript
JS中的异常处理方法分享
Dec 22 Javascript
javascript 10进制和62进制的相互转换
Jul 31 Javascript
js+css实现上下翻页相册代码分享
Aug 18 Javascript
理解JS绑定事件
Jan 19 Javascript
ES2015 Symbol 一种绝不重复的值
Dec 25 Javascript
bootstrap table表格插件使用详解
May 08 Javascript
JS实现移动端触屏拖拽功能
Jul 31 Javascript
javascript触发模拟鼠标点击事件
Jun 26 Javascript
基于 vue-skeleton-webpack-plugin 的骨架屏实战
Aug 05 Javascript
vue 中的动态传参和query传参操作
Nov 09 Javascript
微信小程序自定义modal弹窗组件的方法详解
Dec 20 Javascript
详解在Angularjs中ui-sref和$state.go如何传递参数
Apr 24 #Javascript
JS实现获取图片大小和预览的方法完整实例【兼容IE和其它浏览器】
Apr 24 #Javascript
angular中实现控制器之间传递参数的方式
Apr 24 #Javascript
使用vue框架 Ajax获取数据列表并用BootStrap显示出来
Apr 24 #Javascript
JS实现加载和读取XML文件的方法详解
Apr 24 #Javascript
JS简单获取日期相差天数的方法
Apr 24 #Javascript
Angular.js中控制器之间的传值详解
Apr 24 #Javascript
You might like
推荐Discuz!5的PHP代码高亮显示与实现可运行代码
2007/03/15 PHP
php+ajax实时刷新简单实例
2015/02/25 PHP
php输出xml属性的方法
2015/03/19 PHP
php带抄送和密件抄送的邮件发送方法
2015/03/20 PHP
php如何连接sql server
2015/10/16 PHP
php操作xml并将其插入数据库的实现方法
2016/09/08 PHP
php+mysql开发的最简单在线题库(在线做题系统)完整案例
2019/03/30 PHP
深入分析PHP设计模式
2020/06/15 PHP
获取当前网页document.url location.href区别总结
2008/05/10 Javascript
JS的encodeURI和java的URLDecoder.decode使用介绍
2014/05/08 Javascript
javascript实现漂亮的拖动层,窗口拖拽特效
2015/04/24 Javascript
jQuery实现仿QQ在线客服效果的滚动层代码
2015/10/15 Javascript
全面理解JavaScript中的继承(必看)
2016/06/16 Javascript
解析浏览器端的AJAX缓存机制
2016/06/21 Javascript
基于KO+BootStrap+MVC实现的分页控件代码分享
2016/11/07 Javascript
详解vuex 中的 state 在组件中如何监听
2017/05/23 Javascript
react-router JS 控制路由跳转实例
2017/06/15 Javascript
JS基于ES6新特性async await进行异步处理操作示例
2019/02/02 Javascript
详解vue后台系统登录态管理
2019/04/02 Javascript
layui实现数据分页功能(ajax异步)
2019/07/27 Javascript
python局域网ip扫描示例分享
2014/04/03 Python
Python中关键字is与==的区别简述
2014/07/31 Python
以911新闻为例演示Python实现数据可视化的教程
2015/04/23 Python
python中迭代器(iterator)用法实例分析
2015/04/29 Python
利用Python批量压缩png方法实例(支持过滤个别文件与文件夹)
2017/07/30 Python
python实现BackPropagation算法
2017/12/14 Python
python实现生成Word、docx文件的方法分析
2019/08/30 Python
如何使用python进行pdf文件分割
2019/11/11 Python
CentOS7下安装python3.6.8的教程详解
2020/01/03 Python
环境工程专业个人求职信
2013/12/05 职场文书
医院实习介绍信
2014/01/12 职场文书
《我为你骄傲》教学反思
2014/02/20 职场文书
高考备战决心书
2014/03/11 职场文书
班主任经验交流会主持词
2014/04/01 职场文书
纠纷协议书
2014/04/16 职场文书
用Python爬虫破解滑动验证码的案例解析
2021/05/06 Python