Директива сравнения паролей @input всегда не определена в форме angular, управляемой шаблоном - PullRequest
3 голосов
/ 05 августа 2020

Привет, я пытаюсь создать директиву angular для сравнения пароля и подтверждения пароля. Я пробовал много примеров, показанных на net, но ни один, похоже, не работает, значение @input всегда не определено в функции проверки, где бы я пойти не так

1 Ответ

3 голосов
/ 05 августа 2020

Он печатает undefined, потому что вы сказали Angular создать новый экземпляр ValidateEqualDirective для валидатора через useClass:

providers:[{provide:NG_VALIDATORS, useClass:ValidateEqualDirective
                                   ^^^^

Это означает, что у вас есть два экземпляра вашего класса: первый привязан к html, а вторая была создана для проверки.

Вместо этого вы должны использовать тот же экземпляр директивы:

providers:[{provide:NG_VALIDATORS, useExisting: ValidateEqualDirective
                                  ^^^^^^^^^^^^^^^
                             reuse current directive instance
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...