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

JavaScript HTML

前端伽罗

2020-03-23

我需要将两个参数传递并接收到要转换为使用ui-srefui-router的状态。

例如使用下面的链接将状态转换为homewith foobar参数:

<a ui-sref="home({foo: 'fooVal', bar: 'barVal'})">Go to home state with foo and bar parameters </a>

控制器中的接收foobar值:

app.controller('SomeController', function($scope, $stateParam) {
  //..
  var foo = $stateParam.foo; //getting fooVal
  var bar = $stateParam.bar; //getting barVal
  //..
});     

我得到undefined$stateParam在控制器中。

有人可以帮助我了解如何完成它吗?

编辑:

.state('home', {
  url: '/',
  views: {
    '': {
      templateUrl: 'home.html',
      controller: 'MainRootCtrl'

    },

    'A@home': {
      templateUrl: 'a.html',
      controller: 'MainCtrl'
    },

    'B@home': {
      templateUrl: 'b.html',
      controller: 'SomeController'
    }
  }

});

第2814篇《如何使用ui-router中的ui-sref将参数传递给控制器》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

1个回答
达蒙Jim斯丁 2020.03.23

您只是拼写错误$stateParam,应该是$stateParams(带有s)。这就是为什么您不确定的原因;)

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android