angularjs中state的参数4,美国angularjs $ stateProvider不传递参数

I got a current angularjs application using the standard $routeProvider for routing. I intend to use a part of the application the $stateProvider for a wizard.

I declared a parent state 'Modal' and a child state 'editClient' like this:

$stateProvider.state('Modal', {

views: {

'modal': {

templateUrl: '*urlHere*',

controller: '*controllerHere'

}

},

abstract: true

});

$stateProvider.state('Modal.editClient', {

views: {

"modal": {

url: '/editClient/:id',

templateUrl: '*templateHere*',

controller: '*controllerHere*'

}

}

});

In my controller I call:

$state.go('Modal.editClient', { id: 1});

Yet $stateParams is empty. How come?

I'm using angular-ui-router version 0.2.15 and angularjs 1.2.25. Updating to a higher angularjs version is not possible at the moment.

Update

I also tried:

$stateProvider.state('Modal.editClient', {

views: {

"modal": {

params: {

'id' : 0

},

templateUrl: '*templateUrlHere*',

controller: '*controllerHere*'

}

}

});

解决方案

You are not passing argument in state where you are defining your states you need to do something like this.

$stateProvider.state('Modal', {

views: {

'modal': {

templateUrl: '*urlHere*',

controller: '*controllerHere'

}

},

abstract: true

});

$stateProvider.state('Modal.editClient', {

params: {

'id': 0

},

views: {

"modal": {

url: '/editClient/:id',

templateUrl: '*templateHere*',

controller: '*controllerHere*'

}

}

});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值