Я создал директиву, проверить, если данные были введены в качестве HTML-элемента следующим образом:AngularJS - добавление директивы динамически к элементу
var myApp = angular.module('myApp', []);
myApp.directive("uiRequired", function() {
return function (scope, elem, attrs) {
elem.bind("blur", function() {
var $errorElm = $('#error_testReq');
$errorElm.empty();
if (angular.isDefined(attrs) && angular.isDefined(attrs.uiRequired) && attrs.uiRequired == "true" && elem.val() == "") {
$errorElm.append("<li>Field value is required.</li>");
$errorElm.toggleClass('nfx-hide', false);
$errorElm.toggleClass('nfx-block', true);
}
else
{
$errorElm.toggleClass('nfx-hide', true);
$errorElm.toggleClass('nfx-block', false);
}
});
};
});
Рабочий пример можно увидеть here
Мой вопрос: Есть ли способ добавить директиву (uiRequired) я создал динамически элементов на экране в документе готов.
Я хочу поместить новую директиву на отдельные элементы HTML в соответствии с предопределенным списком, который у меня есть. Я не могу заранее знать, в какой области эта директива должна быть включена.
Так что я должен положить его во время рендеринга страницы.
Я попытался поставить его динамически сам во время загрузки страницы, однако AngularJS интерпретировал его.
Я не мог найти пример в Интернете, который делает это.
Может ли кто-нибудь мне помочь?
Что делать, если вы хотите динамически добавлять директивы на основе проверки? Например, я хочу добавить ng-класс в элемент, когда он больше не отключен (что происходит только при заполнении предыдущего ввода) ... как я буду заниматься этим? – gerl
Это зависит от того, что вы пытаетесь сделать. вам действительно нужно ngClass? Или вы можете программно добавить классы, которые вам нужны? Для динамических директив, связанных с проверкой ngModel, я рекомендую последнее: добавлять классы, используя DOM-манипуляцию, вместо того, чтобы полагаться на пользовательские директивы и процесс угловой компиляции. – pixelbits