AngularJS UI路由器链接到状态为

时间:2015-10-15 18:40:26

标签: javascript angularjs angular-ui-router state

我有一些状态路由,如:

.state. ('home', { ... })

.state('home.company', {
    url: 'company/{ID:int}',
    abstract: true,
    template: '<ui-view/>'
})

.state('home.company.list', {
    url: '/list',
    views: { ... }

我想使用这样的东西:

ui-sref="home.company({ ID: id }).list"

导航到州。但它不起作用。我也试着做以下事情:

ui-sref="home.company.list({ ID: id })"

这也不起作用。任何提示如何使其工作?

P.S。如果我使用过它会起作用:

$state.go(route, { ID: id });

state的位置'home.company.list'。但这并不是我目前想要实现的目标。

P.P.S 这是我得到的错误:

  

错误:无效状态参考&#39; home.company({ID:id})。list&gt;

1 个答案:

答案 0 :(得分:2)

a working plunker

上述状态似乎没问题。我只是稍微调整了一下它就可以了。

  • 为家庭状态添加了url def
  • <ui-view />转换为更常见且受支持的<div ui-view=""></div>

这是片段

$stateProvider
  .state('home', {
      template: '<div ui-view=""></div>',
      url: "/home"

  })
  .state('home.company', {
      url: 'company/{ID:int}',
      abstract: true,
      template: '<div ui-view=""></div>',
  })

  .state('home.company.list', {
      url: '/list',
      views: {
        '': {
          templateUrl: 'tpl.html',
        }
      }
  })

这些链接可以实现预期的目标

<a ui-sref="home.company.list({ ID: 1 })">
<a ui-sref="home.company.list({ ID: 22 })">

检查here