详解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 29 Javascript
Javascript 对象的解释
Nov 24 Javascript
调试Node.JS的辅助工具(NodeWatcher)
Jan 04 Javascript
jquery scrollTop方法根据滚动像素显示隐藏顶部导航条
May 27 Javascript
jquery使用$(element).is()来判断获取的tagName
Aug 24 Javascript
jq给页面添加覆盖层遮罩的实例
Feb 16 Javascript
bootstrap模态框示例代码分享
May 17 Javascript
vue实现全选、反选功能
Nov 17 Javascript
原生js FileReader对象实现图片上传本地预览效果
Mar 27 Javascript
vue项目中使用axios上传图片等文件操作
Nov 02 Javascript
微信小程序scroll-view实现字幕滚动
Jul 14 Javascript
vue 实现tab切换保持数据状态
Jul 21 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
将时间以距今多久的形式表示,PHP,js双版本
2012/09/25 PHP
PHP中的str_repeat函数在JavaScript中的实现
2013/09/16 PHP
PHP实现将MySQL重复ID二维数组重组为三维数组的方法
2016/08/01 PHP
Laravel框架模板加载,分配变量及简单路由功能示例
2018/06/11 PHP
jQuery+ajax实现动态执行脚本的方法
2015/01/27 Javascript
jQuery实现下滑菜单导航效果代码
2015/08/25 Javascript
JavaScript通过使用onerror设置默认图像显示代替alt
2016/03/01 Javascript
Bootstrap多级导航栏(级联导航)的实现代码
2016/03/08 Javascript
jQuery中的一些小技巧
2017/01/18 Javascript
原生JS与jQuery编写简单选项卡
2017/10/30 jQuery
Js判断H5上下滑动方向及滑动到顶部和底部判断的示例代码
2017/11/15 Javascript
node.js调用C++函数的方法示例
2018/09/21 Javascript
nodejs实现范围请求的实现代码
2018/10/12 NodeJs
layui自定义插件citySelect实现省市区三级联动选择
2019/07/26 Javascript
微信小程序使用echarts获取数据并生成折线图
2019/10/16 Javascript
element的el-table中记录滚动条位置的示例代码
2019/11/06 Javascript
JS实现动态倒计时功能(天数、时、分、秒)
2019/12/12 Javascript
Vue 实现登录界面验证码功能
2020/01/03 Javascript
Vue实现手机扫描二维码预览页面效果
2020/05/28 Javascript
[15:39]教你分分钟做大人:龙骑士
2014/10/30 DOTA
python实践项目之监控当前联网状态详情
2019/05/23 Python
使用NumPy读取MNIST数据的实现代码示例
2019/11/20 Python
python实现简单日志记录库glog的使用
2019/12/13 Python
python将unicode和str互相转化的实现
2020/05/11 Python
HTML5头部标签的一些常用信息小结
2016/10/23 HTML / CSS
Tory Burch英国官方网站:美国时尚生活品牌
2017/12/06 全球购物
印度尼西亚电子产品购物网站:Kliknklik
2018/06/05 全球购物
文员个人求职自荐信
2013/09/21 职场文书
毕业生动漫设计求职信
2013/10/11 职场文书
汽车专业大学生职业生涯规划范文
2014/01/07 职场文书
财务出纳岗位职责
2014/02/03 职场文书
科级干部群众路线教育实践活动个人对照检查材料
2014/09/19 职场文书
医生个人自我剖析材料
2014/10/08 职场文书
雷锋电影观后感
2015/06/10 职场文书
公司开业主持词
2015/07/02 职场文书
利用Python判断你的密码难度等级
2021/06/02 Python