Я не верю, что вы можете ссылаться на это значение и получать изменения. selected
- это HTMLInputElement
, а не Observable<HTMLInputElement>
или любая другая вещь, которая будет выдавать значение при изменении.
В следующем примере вы увидите, что та же самая установка с текстом окно показывает, что вы ожидаете при загрузке страницы, но на самом деле не фиксирует никаких изменений входного значения.
StackBlitz здесь
Вам нужно либо использовать ngModel
, FormControl
или просто создайте событие для события change
.
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent {
name = 'Angular';
fileName = null;
onFileChange(evt): void {
this.fileName = evt.target.files[0].name;
}
}
Шаблон
<hello name="{{ name }}"></hello>
<input type="text" #myInput value="Init Text" />
<div>Input Text: {{myInput.value}}</div>
<input type="file" (change)="onFileChange($event)" />
<div>name: {{fileName}}</div>