2014-11-22 27 views
0

我做过的家庭作业 - 在本网站上回顾了几乎8-9个ui-sref相关的问题(如何,复杂的例子等),相关的plunk,Scotch.io等我似乎无法弄清楚为什么我的代码无法正常工作。我花了6-7小时调试应用程序,我似乎无法找到问题。ui-sref在嵌套视图中不起作用

我的页面分为 一)的layout.html - 这迫使引导网格系统 B)的应用程序,导航栏 - 导航顶部栏(代码被切断正膏引导例如现在...) c)中APP-手风琴 - 使用ui引导手风琴显示项的n个号码 d)应用 - 右 - 右侧包括一些UI元素和UI栅

与UI视图所有元素的正确渲染。 ..即,我的控制器正在调用“索引”状态。我加了几个简单的按钮以应用程序navbar.html只是为了调试......

<ul class="nav nav-pills"> 
    <li role="presentation" class="active"><a ui-sref="view1">View1</a></li> 
    <li role="presentation"><a ui-sref="view2">View2</a></li> 
</ul> 
<div ui-view="view-test"></div> 

这里是我的控制器代码片段:

 .state('view1', { 
      url: '/view1', 
      views: { 
       'view-test': { 
        templateUrl: 'view1.html', 
        controller: 'View1Ctrl' 
       } 
      } 
     }) 

当我将鼠标悬停在按钮,我看到/ ... view1和2显示在浏览器的页脚上,但是当我点击它们时,没有任何反应。现在,手风琴仍然使用href,但如果我使用ui-sref,它将停止工作。一旦我通过这个,这是下一个问题......你如何使用ui-sref来控制手风琴?

关于可能会发生什么的任何想法?该plunk:http://plnkr.co/edit/c89j3eFvYyguMt0QznAI

回答

1

updated working plunker。我做了2个修改。

首先,我升级了version to UI-Router 0.2.13(修正了一些问题,只是总是使用最新)

其次,我添加了状态确定指标缺失的环节:谁是我的父母

.state('view1', { 
    url: '/view1', 
    parent: 'index',  // here is explicit setting who is parent 
    views: { 
     'view-test': { 
      templateUrl: 'view1.html', 
      controller: 'View1Ctrl' 
     } 
    } 
}) 

检查它here

EXTENDED,基于下面的评论,很少有文献引用

Methods for Nesting States

国可以嵌套在彼此内。有几种嵌套状态的方法:

  • 使用'点符号'。例如.state('contacts.list', {})
  • 使用ui-router.stateHelper从嵌套状态树构建状态。由@marklagendijk提供。
  • 使用parent属性以父名称作为字符串。例如:parent: 'contacts'
  • 使用parent属性与父对象。例如父:联系人(其中 '接触' 是stateObject)

...

Parent Property using State Name String

或者,您也可以通过parent属性指定状况的父。

$stateProvider 
    .state('contacts', {}) 
    .state('list', { 
    parent: 'contacts' 
    }); 
+0

Radim - 非常感谢你。有没有关于父母财产的任何文件?我在这里没有看到http://angular-ui.github.io/ui-router/site/#/api或本网站的大多数例子。我的代码结构中有不同的东西吗? – user3379755 2014-11-22 14:52:16

+0

另外,我注意到,随着这种改变,手风琴停止工作。 – user3379755 2014-11-22 15:09:05

+0

我用文档引用和链接扩展回答。它有帮助吗?我几乎无法判断手风琴,它与UI-Router无关,并且不会说没有我的修复程序就能正常工作。...... – 2014-11-22 16:06:59