2013-04-05 2 views
2

У меня простая форма с двумя полями ввода number. Когда я пытаюсь добавить атрибут max через директиву, он, кажется, игнорирует его и не проверяет, хотя атрибут добавляется в элемент dom. Когда я добавляю его в строку, он работает. Я ответил на этот вопрос AngularJs can't read dynamically set attributes, но это не помогло мне. Новинка в angularJS и совершенно невежественная.Динамически добавленный атрибут не работает в angularjs

Любая помощь приветствуется.

Edit: Обновление скрипку Demohttp://jsfiddle.net/tNUNh/6/

ответ

2

Не смотрел furthuer, но одно решение у вас есть перекомпилировать элемент каждый раз, когда вы меняете свое максимальное значение.

Просто измените нагнетание $compile (module.directive('type', ['$compile', function ($compile) {) и после attr.$set('max', '100') позвоните по телефону $compile(element)(scope).

Это не похоже на правду, но мне нужно будет искать в директивном коде input, чтобы узнать, может ли он изменить его без перекомпиляции.

+0

эй я обновил скрипку, как вы предполагали, и вызывает аномалии. Не могли бы вы взглянуть на это: http://jsfiddle.net/tNUNh/9/ –

+0

Есть ли способ получить директиву ввода и повторно связать этот элемент? например: angular.modules ('ng'). директива ('input'). link (scope, element, attrs). $ compile (element) (scope) будет вызывать рекурсивную ошибку ... –

+0

Хорошо, я понял. см. также: http://stackoverflow.com/questions/13459705/dynamically-adding-angularjs-directives/18220339#18220339 –

Смежные вопросы