错误:在角度中使用ui-sref时无效状态引用''

时间:2016-01-25 08:13:02

标签: jquery angularjs angular-ui-router ui-sref

我正在使用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正在解决,但在控制台中我收到无效状态错误。

我该如何解决这个问题。请帮忙。

2 个答案:

答案 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'
})

如果你添加这样的东西它应该有效。