Поскольку стандарт веб-компонентов не очень хорошо принят браузерами, фреймворки придумали собственную версию компонентов. Таким образом, вы должны использовать угловой компонент, если вы используете угловую структуру. Расширение HtmlElement показалось мне чрезвычайно нетрадиционным (читать трудно) подходом. Вы можете просто сделать это в декораторе @Component, например: https://stackblitz.com/edit/angular-pgubhw
@Component({
selector: 'my-app',
template: `<p class='no'> Shadow DOM</p>
<input type='number' value='test'
[(ngModel)]='numberValue' />
<div>numberValue is: {{numberValue | json}}</div>`,
styles: [`.no {
color: green;
}`
]
})
Вы связываете через [(ngModel)]
переменную с именем numberValue
, поэтому вам нужно объявить эту переменную где-нибудь и , вам, вероятно, следует ввести input type="number"
.