Javascript 从数组中获取内部对象
我有一个名为Javascript 从数组中获取内部对象,javascript,angular,Javascript,Angular,我有一个名为MovieSearchComponent的组件。这将导入服务MovieSearchService和型号Movie @Component({ selector: 'movie_search', templateUrl: './movie_search-component.html', providers: [MovieSearchService] }) export class MovieSearchComponent{ movies: Movie[] = [];
MovieSearchComponent
的组件。这将导入服务MovieSearchService
和型号Movie
@Component({
selector: 'movie_search',
templateUrl: './movie_search-component.html',
providers: [MovieSearchService]
})
export class MovieSearchComponent{
movies: Movie[] = [];
constructor(private movieSearchService: MovieSearchService){};
ngOnInit(){
this.getMovies();
}
getMovies(){
this.movieSearchService.getMovies()
.subscribe((response)=>{
this.movies = response;
console.log(this.movies)
});
}
}
服务
import {Movie} from "../movie";
@Injectable()
export class MovieSearchService{
private results = {};
private api = '***7039633f2065942cd8a28d7cadad4';
private url = 'https://api.themoviedb.org/3/search/movie?api_key=' + this.api + '&language=en-US&query=Batman&page=1&include_adult=false;';
constructor(private http: Http){}
getMovies(): Observable<Movie[]>{
return this.http.get(this.url)
.map(res => res.json())
}
}
既然我可以在模板中使用
console.log(this.movies.results)
,为什么我不能使用它呢。,因为Movie类中没有定义结果
将getMovies方法更改为:
getMovies(): Observable<Movie[]>{
return this.http.get(this.url)
.map(res => res.json().results)
}
getMovies():可观察{
返回this.http.get(this.url)
.map(res=>res.json().results)
}
现在服务中的getMovies
函数返回json响应中的.results
数组?使用接口:)我认为这里不需要类。@AJT\u 82到底是为了什么?这对解决这个问题有什么帮助?什么课?你的意思是我应该使用界面而不是电影模型吗?@AJT_82你为什么要使用界面来为你的业务领域建模?界面代表合同,你为什么要把电影
做成合同?@AJT_82你可以自由表达你的观点,但别忘了考虑相关性和correctness@Dummy我认为向准则提出另一个选择(意见?)是相关的,并指出缺少将对象初始化为类的功能。也许听起来很直率,但这不是我的本意。最好删除它们,这样我就不会冒犯任何人:D
export class Movie{
constructor(
public id: number,
public title: string,
){}
}
getMovies(): Observable<Movie[]>{
return this.http.get(this.url)
.map(res => res.json().results)
}