Я создал фиктивный веб-сайт для «библиотеки игр» только для того, чтобы научиться методам http POST, GET, PUT и DELETE, у меня есть отдельный файл для моего API с 3 «играми». Пост действительно работает, когда я введите новое имя игры и нажмите кнопку ввода, ничего не происходит, но когда я обновляю страницу, моя HTML-таблица отображает первые три игры плюс ту, которую я только что опубликовал. Я хотел бы, чтобы он был опубликован, а затем сразу же отображался на столе, а не обновлял страницу, как мне кажется, abit небрежно.
Я попытался поместить поле ввода над таблицей, но я действительно не знаю, что еще попробовать.
<h3>Here is your list of current games in your library</h3>
<table>
<tr>
<th>Id</th>
<th>Name</th>
</tr>
<tr *ngFor="let game of games">
<td>{{game.id}}</td>
<td>{{game.name}}</td>
</tr>
</table>
public games: any = [];
private url = 'http://localhost:3000/api/games';
constructor(private httpClient: HttpClient){
httpClient.get(this.url).subscribe(response => {
this.games = response;
});
}
createGame(name: HTMLInputElement) {
let post = {name : name.value};
name.value = '';
let headers = new HttpHeaders();
headers= headers.set('Content-Type', 'application/json');
this.httpClient.post(this.url, {id: this.games.length + 1,name: post.name }, {headers})
.subscribe(response => {
console.log(response)
})
}
Я бы хотел, чтобы таблица автоматически обновлялась, когда я размещал в ней новую игру.