您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何使用ui-router中的ui-sref将参数传递给控制器

如何使用ui-router中的ui-sref将参数传递给控制器

我创建了一个示例来说明如何操作。更新的state定义将是:

  $stateProvider
    .state('home', {
      url: '/:foo?bar',
      views: {
        '': {
          templateUrl: 'tpl.home.html',
          controller: 'MainRootCtrl'

        },
        ...
      }

这将是控制器:

.controller('MainRootCtrl', function($scope, $state, $stateParams) {
    //..
    var foo = $stateParams.foo; //getting fooVal
    var bar = $stateParams.bar; //getting barVal
    //..
    $scope.state = $state.current
    $scope.params = $stateParams; 
})

我们可以看到,状态状态现在的url定义为:

url: '/:foo?bar',

这意味着url中的参数应为

/fooVal?bar=barValue

这两个链接将正确地将参数传递给控制器??:

<a ui-sref="home({foo: 'fooVal1', bar: 'barVal1'})">
<a ui-sref="home({foo: 'fooVal2', bar: 'barVal2'})">

另外,控制器确实消耗$stateParams而不是$stateParam

其他 2022/1/1 18:14:00 有517人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶