详解AngularJS ui-sref的简单使用

发布时间 - 2026-01-11 00:48:33    点击率:

此篇关于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); 
   }); 

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


# angularjs  # ui  # sref  # AngularJS封装$http.post()实例详解  # angularjs中使用ng-bind-html和ng-include的实例  # AngularJS动态菜单操作指令  # 详解在Angularjs中ui-sref和$state.go如何传递参数  # 详谈angularjs中路由页面强制更新的问题  # AngularJS之ionic 框架下实现 Localstorage本地存储  # Angularjs 与 bower安装和使用详解  # 绑定  # 是一个  # 上了  # 你在  # 可以用  # 这是一个  # 不支持  # 报错  # 它会  # 先在  # 则会  # 创建一个  # 本质上  # 者也  # 大家多多  # 有一个  # 中你  # 这样的话  # 网页时  # external 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 佛山企业网站制作公司有哪些,沟通100网上服务官网?  Laravel怎么调用外部API_Laravel Http Client客户端使用  JS经典正则表达式笔试题汇总  PHP 500报错的快速解决方法  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  Laravel用户密码怎么加密_Laravel Hash门面使用教程  QQ浏览器网页版登录入口 个人中心在线进入  Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】  怎样使用JSON进行数据交换_它有什么限制  如何在阿里云高效完成企业建站全流程?  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  百度浏览器如何管理插件 百度浏览器插件管理方法  消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工  Laravel如何记录自定义日志?(Log频道配置)  Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧  Python文本处理实践_日志清洗解析【指导】  ,南京靠谱的征婚网站?  济南网站建设制作公司,室内设计网站一般都有哪些功能?  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境  简单实现jsp分页  Laravel如何使用Collections进行数据处理?(实用方法示例)  ChatGPT 4.0官网入口地址 ChatGPT在线体验官网  Laravel怎么实现验证码(Captcha)功能  Laravel怎么清理缓存_Laravel optimize clear命令详解  深入理解Android中的xmlns:tools属性  Win11怎么开启自动HDR画质_Windows11显示设置HDR选项  Python图片处理进阶教程_Pillow滤镜与图像增强  Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率  Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】  Laravel如何从数据库删除数据_Laravel destroy和delete方法区别  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  JavaScript数据类型有哪些_如何准确判断一个变量的类型  如何快速搭建FTP站点实现文件共享?  如何基于云服务器快速搭建个人网站?  Laravel Blade模板引擎语法_Laravel Blade布局继承用法  利用vue写todolist单页应用  Laravel API资源类怎么用_Laravel API Resource数据转换  Laravel怎么使用artisan命令缓存配置和视图  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  北京的网站制作公司有哪些,哪个视频网站最好?  南京网站制作费用,南京远驱官方网站?  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  如何在 React 中条件性地遍历数组并渲染元素  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  如何快速上传建站程序避免常见错误?  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  如何获取PHP WAP自助建站系统源码?  Laravel如何使用Livewire构建动态组件?(入门代码)