Angular: Есть ли способы перекомпилировать dom?

0

Как и DOM, директива "cur" изменит DOM с помощью jQuery, но не сохранит ее. Если я хочу вернуть DOM, я могу скомпилировать и заменить DOM. Код выглядит так: $('#main').html($compile($('#main').html())($scope)) Но есть ли лучшие способы напрямую скомпилировать DOM?

 <div id="main">
    <div class="fl item" ng-class="cur == 1? 'cur':''" cur>111</div>
    <div class="fl item" ng-class="cur == 2? 'cur':''" cur>222</div>
    <div class="fl item" ng-class="cur == 3? 'cur':''" cur>333</div>
    <div class="fl item" ng-class="cur == 4? 'cur':''" cur>444</div>
    <textarea name="" id="msg" cols="30" rows="10" ng-bind="msg">
    </textarea>
 </div>
 app.directive('cur', function(){
    return function(scope,ele){
        ele.click(function(){
            ele.addClass('cur').siblings().removeClass('cur');
        })
    }
});
Теги:

1 ответ

0

Вы можете использовать функцию компиляции в своей директиве:

function compile(tElement, tAttrs, transclude) { ... }

см. документы

Ещё вопросы

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