Контроллер 'ng-model', требуемый директивой 'ngModel', не найден! в пользовательской директиве валидации

Я пишу страницу, которая показывает форму ввода, которая динамически создается данными из базы данных.

Я строю динамический HTML и рендеринг его на главной странице с помощью пользовательской директивы под названием "динамический рендеринг". Это успешно оказано.

У меня также есть проверка для полей ввода в динамически создаваемой форме. Проверки по умолчанию, как требуется, работают нормально.

У меня также есть пользовательские директивы проверки в динамической форме. Но это не работает.

Я получаю "Контроллер 'ng-model', требуемый директивой 'ngModel', не может быть найден!" ошибка.

Я нашел и попробовал решения, но никто не помог мне.

Я создал демо в Plunk. Plunk Demo

Пожалуйста, помогите мне решить эту проблему. Спасибо

1 ответ

Решение

Вы должны написать это с помощью camelCase:

require: "ngModel"

Из директивных документов:

Angular нормализует тег элемента и имя атрибута, чтобы определить, какие элементы соответствуют каким директивам. Обычно мы обращаемся к директивам по их чувствительному к регистру нормализованному имени camelCase (например, ngModel). Однако, поскольку HTML не чувствителен к регистру, мы обращаемся к директивам в DOM с помощью строчных форм, обычно используя атрибуты с разделителями-тире в элементах DOM (например, ng-модель).

Процесс нормализации выглядит следующим образом:

  • Уберите x- и data- с начала элемента / атрибутов.
  • Преобразуйте:, - или имя, разделенное _, в camelCase.
Другие вопросы по тегам