我正在使用ui-router进行状态转换,我遇到了一个问题但无法解决问题。
当我使用ui-sref转到子状态时,它会给我这个错误
错误:无效状态参考''
这是我的代码: user.js(控制器):
Flyweight Pattern
这将得到解决并附加到HTML页面。
config.js
<a id="sim_'+row.simId+'" title="Click to go to SIM details" ui-sref="app.sims.subscriptions({userId:'+userId+',simId:\''+row.simId+'\'})">
sims.js(控制器):
.state('app.sims',{
abstract:'true',
url:'/sims/:userId/:simId',
templateUrl:'app/tpl/app/sims.html',
controller:'SIMsCtrl',
controllerAs:'vm'
})
.state('app.sims.subscriptions',{
url:'/subscriptions',
templateUrl:'app/tpl/app/subscriptions.html',
controller:'SubscriptionCtrl',
controllerAs:'vm'
})
sims.html
vm.simId=$stateParams.simId;
vm.userId=$stateParams.userId;
subscription.js(控制器):
<li>
<a data-toggle="tab" ui-sref="app.sims.subscriptions" data-target="#" role="tab">Subscriptions<span class="sm-nxt-ln"></span></a>
</li>
我在subscription.js中获取值。 userId和simId正在解决,但在控制台中我收到无效状态错误。
我该如何解决这个问题。请帮忙。
答案 0 :(得分:2)
我刚遇到同样的问题并意识到,当ui-sref设置为null时会发生这种情况
<a ui-sref="">Invalid</a>
检查app.sims.subscriptions
是否为空
答案 1 :(得分:0)
根据您的代码,状态app.sims.simDetail
不存在。
.state('app.sims.simDetail',{
url:'/details/:simId',
templateUrl:'app/tpl/app/details.html',
controller:'DetailsCtrl',
controllerAs:'vm'
})
如果你添加这样的东西它应该有效。