Как предоставить другой элемент управления значением доступа?
У меня уже есть директива, что реализует ControlValueAccessor
интерфейс (селектор директивы input[type=date]
) и мне нужно иметь другую директиву реализации ControlValueAccessor
с селектором input[type=date][datepicker]
- давайте назовем это директивой DatePicker.
Как вы можете видеть, селекторы этих директив перекрывают друг друга, и я получаю следующую ошибку, когда использую директиву datepicker:
ERROR Error: Uncaught (in promise): Error: More than one custom value accessor matches form control with unspecified name attribute
там выдается ошибка: https://github.com/angular/angular/blob/5.2.x/packages/forms/src/directives/shared.ts#L206
так что у меня есть идея, что, возможно, я мог бы как-то сказать angular, чтобы предоставить директиву datepicker, когда это возможно, но как это сделать?
1 ответ
Решение
Почему бы просто не поиграть с селекторами?
Первый будет
input[type=date]:not([datepicker])
И второй
input[type=date][datepicker]