2015-03-03 89 views
2

希望不是重复的,但我发现的所有其他答案都与状态有关。ui-sref-active不影响父元素

这可行,但我也希望父母<li>也受到影响。

<ul class="collapsible" data-collapsible="accordion"> 
    <li ng-repeat="title in sidebar.title"> 
    <div class="collapsible-header waves-effect waves-green"><a ui-sref="#"><i ng-class="title.icon"></i>{{title.name}}</a></div> 

    <div class="collapsible-body"> 
     <ul> 
     <li ng-repeat="subcat in title.subtitle" ui-sref-active="collapsible-body-active"> 
      <a class="waves-effect waves-yellow" ui-sref="{{subcat.state}}">{{subcat.name}}</a> 
     </li> 
     </ul> 
    </div> 
    </li> 
</ul> 

所以,如果我理解正确的文件,我应该能够做到这一点,但它不工作:

<ul class="collapsible" data-collapsible="accordion"> 
    <li ng-repeat="title in sidebar.title" ui-sref-active="collapsible-body-active"> 
    <div class="collapsible-header waves-effect waves-green"><a ui-sref="#"><i ng-class="title.icon"></i>{{title.name}}</a></div> 

    <div class="collapsible-body"> 
     <ul> 
     <li ng-repeat="subcat in title.subtitle"> 
      <a class="waves-effect waves-yellow" ui-sref="{{subcat.state}}">{{subcat.name}}</a> 
     </li> 
     </ul> 
    </div> 
    </li> 

难道我误解的文件?

回答

0

a working example,表明这种情况应该起作用。但是 - 它会工作,如果我们在地方

// this won't work, because there is missing key setting: ui-sref 
// without that, the ui-sref-active cannot work 
<li ui-sref-active="selected"> 
    <a href="#/home" >home</a> 
</li> 
// this will work as expected 
<li ui-sref-active="selected"> 
    <a ui-sref="parent">parent</a> 
</li> 

有正确的ui-sref而这也正是你的情况有什么区别?我怀疑,国家名称为“#”在上面的代码片段:

...<a ui-sref="#">.. 

国家会像“subcat.state”,然后这应该工作

...<a ui-sref="subcat.state">.. 

你可以玩here

+1

看起来像我误解了文档。我期待父元素受到影响,但它似乎是基于父状态。谢谢。 – Lee 2015-03-05 22:36:30