• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

在 Angularjs 中 ui-sref 和 $state.go 如何传递参数

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

  1 ui-sref、$state.go 的区别

  ui-sref 一般使用在 <a>...</a>;

<a ui-sref="message-list">消息中心</a>

  $state.go('someState')一般使用在 controller里面;

.controller('firstCtrl', function($scope, $state) {
      $state.go('login');
 });

  这两个本质上是一样的东西,我们看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);
      });

  ui-sref最后调用的还是$state.go()方法

  2 如何传递参数

  首先,要在目标页面定义接受的参数:

  

  传参,

  ui-sref:

  

  $state.go:

  

  接收参数,

  在目标页面的controller里注入$stateParams,然后 "$stateParams.参数名" 获取

  

  补充资料:  

<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

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
一个小时学会用 Go 编写命令行工具发布时间:2022-07-10
下一篇:
区块链来了,Go工程师成为升值最快的职业发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap