Если вы просто хотите отобразить значение, которое вводите в поле ввода, вы можете напрямую связать эту переменную ngModel .
Шаблон:
<ul>
<li *ngFor="let data of sampleData[0]"> {{ data.username }} </li>
</ul>
<input type="text" [(ngModel)]="textInput">
<button>Click me!</button>
<p>{{textInput}}</p>
Будет хорошей практикой, если вы не используете sampleData[0]
.Используйте sampleData
, как я определил ниже.Если вы хотите отображать значение только при нажатии кнопки, вы можете проверить следующий код:
Шаблон:
<ul>
<li *ngFor="let data of sampleData"> {{ data.username }} </li>
</ul>
<input type="text" [(ngModel)]="textInput">
<button (click)="onClick()">Click me!</button>
<p>{{ displayValue }}</p>
Компонент:
export class AppComponent implements OnInit {
sampleData:any;
textInput = '';
displayValue: string;
constructor (private _jsonService: JsonServiceService) {}
ngOnInit() {
this._jsonService.getData().subscribe((data) => {
this.sampleData = data;
});
}
onClick() {
this.displayValue = this.textInput;
}
}