Я пытаюсь создать настраиваемую директиву, которая расширяет функциональность существующего элемента. Я хотел бы определить, существует ли определенный атрибут, а если нет, то добавьте его (например, ng-class).
Я пытался достичь этого во время предварительной компиляции, но angular не реагирует на добавление нового атрибута.
I создал плункер с помощью простого примера с помощью ng-hide.
<input hide type="submit" value="Submit"/>
app.directive('hide', function() { return { restrict: 'A', compile: function(){ return { pre: function(scope, element, attributes, controller, transcludeFn){ attributes.$set("ng-hide", true); }, post: function(scope, element, attributes, controller, transcludeFn){ } } }, }; });
Если я добавлю ng-hide = "true" в html, кнопка отправки будет скрыта правильно. Если я оставлю его в директиве, то я вижу, что DOM правильно настроил элемент, но элемент не скрыт:
<input hide="" type="submit" value="Submit" ng-hide="true">
Любая помощь оценивается!