Пользовательская директива (по классу) внутри ng-repeat никогда не оценивается

0

В Angular (1.2) я распечатываю некоторые элементы li используя ng-repeat, и я условно применяю к ним класс с ng-class.

 <li ng-repeat="(linkName, link) in navigation" ng-class="{'treeview':condition}">
    <a href ng-if="link.state" ui-sref="{{link.state}}">
        <i class="fa {{link.icon}}"></i>
        <span>{{linkName}}</span>
    </a>
</li>

treeview классов, которое зависит от condition представляет собой настраиваемую директиву, которую я определил:

angular.module('app.mymodule')
.directive('treeview', function() {
    return {
        restrict: 'C',
        link: function(scope, element, attrs) {
            // jquery tree plugin 
            element.tree();
        }
    };
})

Это должно включить плагин дерева jquery для элементов, имеющих класс treeview.
Проблема состоит в том, что даже жесткие элементы правильно добавлены в dom и имеют treeview классов, а пользовательское директивное treeview никогда не оценивается (проверено это с точкой останова).

Вместо этого, если я делаю простой

<li class="treeview">
    //...
</li>

Тогда директива работает так, как предполагалось.
Я думаю, что это какой-то конфликт в области, созданной ng-repeat.

Теги:
treeview

1 ответ

0

Transclude

В вашей директиве set transclude to true. Это позволяет вам оценивать вещи между пользовательскими тегами.

  • 0
    сделано: ничего не делает

Ещё вопросы

Сообщество Overcoder
Наверх
Меню