我有一个带有创建功能的角应用程序,可以添加一个电影:
createMovie(movie: Movie): void {
this._dataService.createMovie<Movie>({'id': 20, 'name': 'Star Wars'})
.subscribe((data) => this.movie = data,
error => () => {
'something went wrong';
},
() => {
console.log(this.movies);
});
}
这将调用服务中的createMovie()函数:
public createMovie<T>(movie: Movie): Observable<T> {
console.log(movie);
return this.http.post<T>('/api/movies/', movie);
}
它工作正常。我可以在数据库中看到添加的对象,并在页面上刷新。
在我的app.component.ts中,我有movies: Movie[];
将新创建的影片添加到该阵列的正确方法是什么?
答案 0 :(得分:3)
只需将 app.component 中的createMovie()
方法更改为:
createMovie(movie: Movie): void {
this._dataService.createMovie<Movie>({'id': 20, 'name': 'Star Wars'})
.subscribe(
(data) => {
this.movie = data;
this.movies.push(this.movie); // <- adding the new movie to the movies array
},
(err) => {
// Error handling
},
() => {
console.log(this.movies);
});
};
答案 1 :(得分:0)
您可以使用movies.push(movie)
。或者像[...movies, movie]
答案 2 :(得分:0)
var fruits = ["Banana", "Orange", "Apple", "Mango"];
//Banana,Orange,Apple,Mango
fruits.push("Kiwi");
//Banana,Orange,Apple,Mango,Kiwi