Angularjs 在活动ui路由锚下追加DOM元素

Angularjs 在活动ui路由锚下追加DOM元素,angularjs,angular-ui-router,Angularjs,Angular Ui Router,ui路由器为锚定标记提供了一个漂亮的功能。当关联路由或任何子路由处于活动状态时,它会添加一个类 我想使用相同的规则将元素附加到DOM中,例如: <ul class="books" ng-controller="TreeController"> <li ng-repeat="book in books"> <a ui-sref="book({id: book.id})" ui-sref-active="active">

ui路由器为锚定标记提供了一个漂亮的功能。当关联路由或任何子路由处于活动状态时,它会添加一个类

我想使用相同的规则将元素附加到DOM中,例如:

<ul class="books" ng-controller="TreeController">
    <li ng-repeat="book in books">
        <a ui-sref="book({id: book.id})" ui-sref-active="active">
            {{book.title}}
        </a>
        <!-- NG-IF BELOW IS THE CODE IN QUESTION -->
        <ul class="chapters" ng-if="UI-SREF-ACTIVE">
            <li ng-repeat="chapter in chapters(book.id)">
如果ng=UI-SREF-ACTIVE,我可以用什么替换它

我无法使用CSS相邻同级规则a.active+ul{display:block;}。我必须等待创建元素,因为chaptersbook.id必须延迟加载


我也不能使用$state.is'book',{id:book.id}。对于子路由,它不会返回true。

您可以使用$state.includes吗?好的,我认为您是对的,所以ng if=$state.includes'book',{id:book.id}可以这样做,我已经在控制器中设置了$scope。$state=$state。这就是您的想法吗?在ng if评估中是否有使用过滤器的捷径?我对angular很陌生,我不知道不同的组件在哪里自动计算。是的,第一个是我在想的,但是过滤器可能也能工作……但是我不确定如何构造它。