Я пытаюсь отключить встроенную функцию автозаполнения Chrome в моем приложении Angular 9. Я обнаружил, что Chrome прикрепляет предложения автозаполнения к имени поля ввода.
У меня есть Angular 9 HTML код:
<input
[class]="inputClass"
[(ngModel)]="model[field]"
[id]="field"
[name]="field + '_' + random"
[placeholder]="getPlaceholder()"
[disabled]="disabled"
[type]="type"
[autocomplete]="random"
(keyup)="validateField()">
И я получаю это в сгенерированный код HTML, если я запускаю приложение:
<input
_ngcontent-cbv-c111=""
class="form-control ng-pristine ng-valid ng-touched"
ng-reflect-model=""
id="name"
ng-reflect-name="name_6xuz5"
placeholder="My placeholder"
type="text"
autocomplete="6xuz5">
Теперь здесь нет свойства name
для тега input
. И это потому, что я использую этот синтаксис: [name]="..."
. Если я использую синтаксис name="..."
, то будет представлено свойство name.
Как можно принудительно установить свойство name
в полях input
и при этом использовать синтаксис [name]="..."
для получения вычисляемого значения