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)
  }