详解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 Form多次提交表单问题的解决方法
May 09 Javascript
jQuery插件实现表格隔行换色且感应鼠标高亮行变色
Sep 22 Javascript
Jquery实现图片放大镜效果的思路及代码(自写)
Oct 18 Javascript
Javascript:为input设置readOnly属性(示例讲解)
Dec 25 Javascript
jquery中toggle函数交替使用问题
Jun 22 Javascript
JS实现仿雅虎首页快捷登录入口及导航模块效果
Sep 19 Javascript
深入解析JavaScript中的数字对象与字符串对象
Oct 21 Javascript
微信小程序 Image API实例详解
Sep 30 Javascript
angularJs关于指令的一些冷门属性详解
Oct 24 Javascript
微信小程序 高德地图SDK详解及简单实例(源码下载)
Jan 11 Javascript
JavaScript实现一个空中避难的小游戏
Jun 06 Javascript
浅析Vue 和微信小程序的区别、比较
Aug 03 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的AES加密算法类
2015/03/12 PHP
PHP版微信小店接口开发实例
2016/11/12 PHP
thinkphp3.2嵌入百度编辑器ueditor的实例代码
2017/07/13 PHP
laravel在中间件内生成参数并且传递到控制器中的2种姿势
2019/10/15 PHP
javascript 树控件 比较好用
2009/06/11 Javascript
使用jQuery模板来展现json数据的代码
2010/10/22 Javascript
JavaScript生成二维码图片小结
2015/12/27 Javascript
angular.js分页代码的实例
2016/07/27 Javascript
js实现小窗口拖拽效果
2016/12/03 Javascript
JavaScript实现短信倒计时60s
2017/10/09 Javascript
js中bool值的转换及“&amp;&amp;”、“||”、 “!!”详解
2017/12/21 Javascript
mpvue小程序仿qq左滑置顶删除组件
2018/08/03 Javascript
如何优雅地在vue中添加权限控制示例详解
2019/03/07 Javascript
javascript设计模式之迭代器模式
2020/01/30 Javascript
vue-socket.io接收不到数据问题的解决方法
2020/05/13 Javascript
详解JavaScript中的Object.is()与&quot;===&quot;运算符总结
2020/06/17 Javascript
[01:46]新英雄登场
2019/09/10 DOTA
python中的reduce内建函数使用方法指南
2014/08/31 Python
python 如何快速找出两个电子表中数据的差异
2017/05/26 Python
python 换位密码算法的实例详解
2017/07/19 Python
pyqt5利用pyqtDesigner实现登录界面
2019/03/28 Python
Python3.5面向对象与继承图文实例详解
2019/04/24 Python
Python学习笔记之抓取某只基金历史净值数据实战案例
2019/06/03 Python
python实现键盘输入的实操方法
2019/07/16 Python
python实现大学人员管理系统
2019/10/25 Python
python实现随机加减法生成器
2020/02/24 Python
环保建议书400字
2014/05/14 职场文书
设备管理实施方案
2014/05/31 职场文书
学雷锋标兵事迹材料
2014/08/18 职场文书
党的群众路线教育实践活动心得体会范文
2014/11/05 职场文书
表扬稿格式范文
2015/01/16 职场文书
工厂门卫岗位职责
2015/04/13 职场文书
公司员工宿舍管理制度
2015/08/03 职场文书
《伯牙绝弦》教学反思
2016/02/16 职场文书
MyBatis 动态SQL全面详解
2021/10/05 MySQL
SpringDataJPA实体类关系映射配置方式
2021/12/06 Java/Android