详解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 相关文章推荐
chrome原生方法之数组
Nov 30 Javascript
jQuery如何取id有.的值一般的方法是取不到的
Apr 18 Javascript
解决Window10系统下Node安装报错的问题分析
Dec 13 Javascript
javascript表单正则应用
Feb 04 Javascript
JavaScript数组操作详解
Feb 04 Javascript
Node.js查找当前目录下文件夹实例代码
Mar 07 Javascript
JS图片预加载插件详解
Jun 21 Javascript
js序列化和反序列化的使用讲解
Jan 19 Javascript
p5.js实现简单货车运动动画
Oct 23 Javascript
js中!和!!的区别与用法
May 09 Javascript
微信小程序实现菜单左右联动
May 19 Javascript
小程序中手机号识别的示例
Dec 14 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
珊瑚虫IP库浅析
2007/02/15 PHP
PHP中文件上传的一个问题
2010/09/04 PHP
ThinkPHP中ajax使用实例教程
2014/08/22 PHP
PHP上传图片到数据库并显示的实例代码
2019/12/20 PHP
JavaScript中关于indexOf的使用方法与问题小结
2010/08/05 Javascript
20个非常棒的 jQuery 幻灯片插件和教程分享
2011/08/23 Javascript
javascript控制Div层透明属性由浅变深由深变浅逐渐显示
2013/11/12 Javascript
js改变embed标签src值的方法
2015/04/10 Javascript
javascript实现一个数值加法函数
2015/06/26 Javascript
关于JS中的方法是否加括号的问题
2016/07/27 Javascript
AngularJs bootstrap搭载前台框架——准备工作
2016/09/01 Javascript
JS实现滑动门效果的方法详解
2016/12/19 Javascript
Vue 过渡(动画)transition组件案例详解
2017/01/22 Javascript
Extjs 中的 Treepanel 实现菜单级联选中效果及实例代码
2017/08/22 Javascript
jQuery+PHP实现上传裁剪图片
2020/06/29 jQuery
js实现移动端轮播图
2020/12/21 Javascript
一文快速了解JQuery中的AJAX
2019/05/31 jQuery
token 机制和实现方式
2020/12/15 Javascript
用Python的SimPy库简化复杂的编程模型的介绍
2015/04/13 Python
python列表的增删改查实例代码
2018/01/30 Python
django 修改server端口号的方法
2018/05/14 Python
tensorflow 获取模型所有参数总和数量的方法
2018/06/14 Python
解决安装pycharm后不能执行python脚本的问题
2019/01/19 Python
python识别文字(基于tesseract)代码实例
2019/08/24 Python
Python中使用gflags实例及原理解析
2019/12/13 Python
Django 返回json数据的实现示例
2020/03/05 Python
python代数式括号有效性检验示例代码
2020/10/04 Python
网络维护管理员的自我评价分享
2013/11/11 职场文书
国际政治个人自荐信范文
2013/11/26 职场文书
艺术设计专业个人求职信范文
2013/12/11 职场文书
承兑汇票转让证明怎么写?
2014/11/30 职场文书
2014年企业党建工作总结
2014/12/18 职场文书
励志语录:时光飞逝,请学会珍惜所有的人和事
2020/01/16 职场文书
Pandas||过滤缺失数据||pd.dropna()函数的用法说明
2021/05/14 Python
漫画「古见同学有交流障碍症」第25卷封面公开
2022/03/21 日漫
未发现nvidia显卡怎么办?Win11系统中未检测到nvidia显卡解决教程
2022/04/08 数码科技