相关疑难解决方法(0)

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

我需要传递并接收两个参数到我想转移到使用ui-srefui-router的状态.

比如使用以下链接将状态转换为homewith foobar参数:

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

控制器中的接收foobar值:

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

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

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

编辑:

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

    },

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

    'B@home': {
      templateUrl: 'b.html',
      controller: …
Run Code Online (Sandbox Code Playgroud)

html javascript angularjs angular-ui angular-ui-router

364
推荐指数
3
解决办法
37万
查看次数

使用AngularJS中的UI-Router将状态重定向到默认子状态

我正在创建一个基于标签的页面,显示一些数据.我在AngularJs中使用UI-Router来注册状态.

我的目标是在页面加载时打开一个默认选项卡.每个选项卡都有子选项卡,我希望在更改选项卡时打开默认子选项卡.

我正在测试onEnter函数和内部我正在使用$state.go('mainstate.substate');但由于循环效果问题似乎无法工作(在state.go上,它调用它的父状态等等,然后它变成一个循环).

$stateProvider

.state('main', {
  url: '/main',
  templateUrl: 'main.html',
  onEnter: function($state) {
    $state.go('main.street');
  }
})

.state('main.street', {
  url: '/street',
  templateUrl: 'submenu.html',
  params: {tabName: 'street'}
})
Run Code Online (Sandbox Code Playgroud)

在这里,我创建了一个plunker演示.

现在一切正常,除了我没有打开默认选项卡,这正是我需要的.

感谢您的建议,意见和想法.

javascript tabs angularjs angular-ui-router

87
推荐指数
4
解决办法
8万
查看次数