在活动的ui-route锚点下面添加DOM元素

时间:2015-03-06 22:10:07

标签: angularjs angular-ui-router

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

我想使用相同的规则向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-if="UI-SREF-ACTIVE"

我不能使用CSS邻接兄弟规则a.active + ul { display: block; }。我必须等待创建元素,因为chapters(book.id)必须延迟加载。

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

0 个答案:

没有答案