Занятое строительство видео-сайта, и я в настоящее время переписываю код, но я не могу пройти мимо этой проблемы. Поэтому у меня есть controller.js, где я хочу выполнить весь запрос, и в моем main.js я хочу получать данные и разбираться.Angularjs pass data
Так что мой controller.js выглядит следующим образом:
'use strict';
angular.module('Movie.services', []).service('Movie', ['$q', '$http', function($q, $http) {
var API_URL = 'http://api.themoviedb.org/3/person/';
var API_KEY = '?api_key=xxx';
this.findCast = function(id) {
var cast = [];
$http.get(API_URL, {
params: {
query: id,
api_key: API_KEY
}
}).then(function(result) {
angular.forEach(result.data, function(item) {
cast.push(item);
});
});
}
}]);
JSON: http://docs.themoviedb.apiary.io/reference/people/personid/get И мой main.js выглядит следующим образом:
app.controller("Cast", function($scope, $http, $routeParams, Page, Movie) {
$scope.getCast = [];
var person_id = $routeParams.person_id;
Movie.findCast(person_id).then(function(result){
$scope.getCast = result ;
});
});
Моим вопрос, как я могу получить данные от моего контроллера .js в main.js, поэтому я могу разобрать его. Что я теперь получаю ошибку
TypeError: Cannot read property 'then' of undefined
Я не уверен, если это право инфраструктуры построить мое приложение, потому что в controller.js я хочу сделать несколько вызовов, например я хочу, чтобы получить бросок, фильмы, сериалы и т. д.
Controller.js будет выглядеть следующим образом (не знаю, если его правильный способ сделать это)
this.findCast = function(id) { }
this.getMovies = function(id) { }
this.getSeries = function(id) { }
this.getPopulair = function(id) { }
спасибо, но как это назвать в моем main.js? Видел, что вы добавили var movieService – Frenck
, который вы можете позвонить, как и сейчас, => Movie.findCast() –
Спасибо, что я делаю. Когда я вхожу в функцию результата обещания 'console.log (item);' я получаю результаты, но когда я делаю 'Movie.findCast (person_id) .then (функция (результат) { $ scope.getCast = result; console .log (result); }); 'он не дает мне ничего неопределенного. – Frenck