Angular 1.0.8 で正常に動作していたこの Angular スニペットがあります。1.2 に切り替えたばかりですが、エラーは表示されませんが、html にオブジェクトがありません。
// --- CONCERNS FACTORY --- //
concernsApp.factory('ConcernService', function ($http, $q) {
var api_url = "http://localhost:8000/api/";
var ConcernService = {
list: function (items_url) {
var defer = $q.defer();
$http({method: 'GET', url: api_url + items_url}).
success(function (data, status, headers, config) {
defer.resolve(data);
}).error(function (data, status, headers, config) {
defer.reject(status);
});
return defer.promise;
},
};
return ConcernService;
});
// --- PROJECTS CONTROLLER --- //
concernsApp.controller('ProjectsCtrl', function ($scope, $http, ConcernService) {
// get all projects
$scope.projects = ConcernService.list('projects/');
...
$http メソッドは引き続き機能し、データは成功時に返されるオブジェクトです。
list メソッドがオブジェクトではなく promise を返すことに問題があると感じていますが、以前と同じように機能するようにコードをリファクタリングする方法がわかりません。つまり、$scope.projects はオブジェクトです。