详解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控制iframe的高度/宽度让其自适应内容
Apr 09 Javascript
深入理解JavaScript系列(25):设计模式之单例模式详解
Mar 03 Javascript
node.js操作mysql(增删改查)
Jul 24 Javascript
JavaScript实现文字跟随鼠标特效
Aug 06 Javascript
jquery实现简单的遮罩层
Jan 08 Javascript
JS代码实现百度地图 画圆 删除标注
Oct 12 Javascript
Angular开发者指南之入门介绍
Mar 05 Javascript
AngularJS路由Ui-router模块用法示例
May 29 Javascript
利用ES6的Promise.all实现至少请求多长时间的实例
Aug 28 Javascript
JavaScript中Require调用js的实例分享
Oct 27 Javascript
jQuery实现的分页插件完整示例
May 26 jQuery
js实现验证码干扰(动态)
Feb 23 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
咖啡常见的种类
2021/03/03 新手入门
php数组函数序列之array_combine() - 数组合并函数使用说明
2011/10/29 PHP
wordpress自定义url参数实现路由功能的代码示例
2013/11/28 PHP
学习php设计模式 php实现访问者模式(Visitor)
2015/12/07 PHP
PHP基于PDO扩展操作mysql数据库示例
2018/12/24 PHP
javascript 写类方式之七
2009/07/05 Javascript
javascript 二分法(数组array)
2010/04/24 Javascript
JS 自定义带默认值的函数
2011/07/21 Javascript
js局部刷新页面时间具体实现
2013/07/04 Javascript
JS预览图像将本地图片显示到浏览器上
2013/08/25 Javascript
JavaScript对内存分配及管理机制详细解析
2013/11/11 Javascript
用循环或if语句从json中取数据示例
2014/08/18 Javascript
javascript运算符——逻辑运算符全面解析
2016/06/27 Javascript
Node.js数据库操作之查询MySQL数据库(二)
2017/03/04 Javascript
Node 自动化部署的方法
2017/10/17 Javascript
解决mpvue + vuex 开发微信小程序vuex辅助函数mapState、mapGetters不可用问题
2018/08/03 Javascript
vue中如何实现后台管理系统的权限控制的方法示例
2018/09/19 Javascript
webpack4.x下babel的安装、配置及使用详解
2019/03/07 Javascript
node+multer实现图片上传的示例代码
2020/02/18 Javascript
[01:39:04]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第二场 2月1日
2021/03/11 DOTA
python之yield表达式学习
2014/09/02 Python
Python中尝试多线程编程的一个简明例子
2015/04/07 Python
Python判断变量是否为Json格式的字符串示例
2017/05/03 Python
python利用re,bs4,requests模块获取股票数据
2019/07/29 Python
深入浅析Python 命令行模块 Click
2020/03/11 Python
香港演唱会订票网站:StubHub香港
2019/10/10 全球购物
会计电算化专业应届大学生求职信
2013/10/22 职场文书
有个性的自我评价范文
2013/11/15 职场文书
汽修专业学生自我鉴定
2013/11/16 职场文书
2014年幼儿园元旦活动方案
2014/02/13 职场文书
社区母亲节活动方案
2014/03/05 职场文书
村主任个人对照检查材料
2014/10/01 职场文书
1000字打架检讨书
2014/11/03 职场文书
产品质量保证书范本
2015/02/27 职场文书
企业文化学习心得体会
2016/01/21 职场文书
Linux安装Docker详细教程
2022/07/07 Servers