2

不明なプロバイダー エラーが発生しましたが、解決方法がわかりません。私のサービス、コントローラーは適切に宣言されていると思います。私はすべてを試しましたが、うまくいきません。my photosFactory ファクトリーが機能しません。コントローラーには注入されません。助けていただければ幸いです。

私の app.js :

 angular.module('starter', ['ionic', 'starter.controllers', 'starter.services']) 

私の controllers.js :

 angular.module('starter.controllers', [])
 .controller('PlaylistsCtrl', ['$scope', 'photosFactory', '$http', function ($scope, $http, Util, $ionicLoading, $location, photosFactory) {

        $ionicSideMenuDelegate.canDragContent(true);

        $scope.allDeals = [];


        $scope.navigate = function(url){
            $location.path(url);
        };
        photosFactory.getPhotos().success(function(data){
            $scope.allDeals= data;

          });
        }])

私のservices.js:

angular.module('starter.services', [])

         .factory('photosFactory', function($http) {
              return{
                  getPhotos : function() {
                      return $http({
                          url: 'http://www.somecompany.co.uk/bigcapi/feeds/deals/company_id/88',
                          method: 'GET',
                          params: {all: '1', mobileready: 1}
                      })
                  }
              }
          })
4

4 に答える 4

2

工場に $http を注入していないためだと思います。それを試してみてください

.factory('photosFactory', [ '$http', function($http) {
              return{
                  getPhotos : function() {
                      return $http({
                          url: 'http://www.somecompany.co.uk/bigcapi/feeds/deals/company_id/88',
                          method: 'GET',
                          params: {all: '1', mobileready: 1}
                      })
                  }
              };
          }]);

コントローラーを宣言するときにも問題があります

['$scope', 'photosFactory', '$http', function ($scope, $http, Util, $ionicLoading, $location, photosFactory) {

順序は非常に重要なので、このようなものを用意する必要があります

['$scope', 'photosFactory', '$http', 'Util', '$ionicLoading', '$location', function ($scope, photosFactory, $http, Util, $ionicLoading, $location,) { 
于 2014-10-23T12:22:03.220 に答える
1

良い、

あなたは3つの注射剤を宣言しただけで、

controller('PlaylistsCtrl', ['$scope', 'photosFactory', '$http', 

しかし、6を使いたい - それは良くありません。

function ($scope, $http, Util, $ionicLoading, $location, photosFactory)

順番に注意してください。

于 2014-10-23T13:01:17.313 に答える
0

HTML が含まれていないため、確認できません。サービスの JavaScript をインデックスに含めましたか?

さまざまなインポートの問題を修正したと仮定すると、これが最も可能性の高い理由のようです。

于 2015-11-26T21:43:55.017 に答える