【发布时间】:2015-03-05 22:22:00
【问题描述】:
我做了一项服务,可以从 omdb api 获取电影信息,但是当我尝试从控制器使用它并将结果推送到我的电影数组时,它会抱怨
TypeError: 无法读取未定义的属性“push”
.controller('AppCtrl', function(omdbApi) {
this.movie = [];
this.getMovie = function(title, year) {
year = typeof year === 'undefined' ? "" : year;
omdbApi.getMovie(title, year).then(function(data){
this.movie.push({
poster: data.data.Poster,
title: data.data.Title,
actors: data.data.Actors,
plot: data.data.Plot
});
});
}
});
有人可以解释为什么它无法推送到电影吗?我不确定这是一个角度问题,但从javascript的角度来看,我真的不明白。我已经测试过传入的数据是合法的。 如果我只是将数据分配给电影,那么我无法在函数之外访问它。
【问题讨论】:
-
this不是您想象的那样,因此没有movie属性。
标签: javascript angularjs