UI路由器在index.html中具有单个ui-view和嵌套状态是否可能?

时间:2016-03-17 14:33:15

标签: angularjs angular-ui-router

我正在设置一个项目,并使用ui-router。 要求是要保持附加的网址,例如:#/ home / contacts。 为了实现这一点,我必须使用嵌套状态。 例如:home和home.contacts,其中home state将在模板中填充。

但我希望在root级别有一个单独的ui-view,index.html,当我点击url时会获得模板,例如家庭或家庭/联系人。 是否可以使用ui-router获得此行为?

简而言之,在index.html中使用单个ui-view嵌套行为[未嵌套,我想要追加url]。

请注意

1 个答案:

答案 0 :(得分:1)

您可以指定明确回家/联系人的状态网址吗?

请参阅下面的示例:

app.config(function($stateProvider) {

  var routes = [
  {
    state: 'home',
    config: {
      url: '/home',
      template: '<h3>Home</h3>'
    }
  }, 
  {
    state: 'contacts',
    config: {
      url: '/home/contacts',
      template: '<h3>Contacts</h3>'
    }
  }];

  routes.forEach(function(route) {

    if (route.state) {
      $stateProvider.state(route.state, route.config);
    }
  });

});

查看:

  <body ng-controller="MainCtrl">
    <a ui-sref="home">Home</a>
    <a ui-sref="contacts">Contacts</a>

    <div ui-view></div>
  </body>

使用Plnkr示例here