2016-07-18 24 views
0

私のプロジェクトには、次のpreloader.jsファクトリファイルが含まれています。私のコントローラで角型ファクトリの関数は定義されていません

angular.module('movieSeat') 
     .factory('preloader', function($q, $rootScope) { 

は、私は次のように工場を注入:

angular.module('movieSeat') 
     .controller('moviesearchCtrl', ['$scope', 'moviesearchFactory', function ($scope, moviesearchFactory, preloader) { 

私はプリロード・コントローラ内preloadImages機能を使用しよう:私は次のエラーを取得する

$scope.imageLocations = [ 
     "https://image.tmdb.org/t/p/w300_and_h450_bestv2//nlqFgG7jfBITl8fJHzL72jXwYLt.jpg", 
     "https://image.tmdb.org/t/p/w300_and_h450_bestv2//ghL4ub6vwbYShlqCFHpoIRwx2sm.jpg", 
     "https://image.tmdb.org/t/p/w300_and_h450_bestv2//weUSwMdQIa3NaXVzwUoIIcAi85d.jpg", 
    ]; 

    preloader.preloadImages($scope.imageLocations) 

Cannot read property 'preloadImages' of undefined

preloader.preloadImages($scope.imageLocations)コードをコメントアウトすると、エラーはなくなります。だから私のコントローラーのプリローダー工場を注入するのがうまくいくように見えますが、preloadファクトリーでpreloadImagesという関数を呼び出すことができない理由がわかりません。

+0

私たちpreloadImages機能を表示 – Sajeetharan

答えて

2

依存性注入リストにはタイプミスがあります。依存文字列のリストにpreloaderを追加するのを忘れた。

.controller('moviesearchCtrl', ['$scope', 'moviesearchFactory', 'preloader' /*here*/, function ($scope, moviesearchFactory, preloader) { 
1

あなたは次のようにコントローラの呼び出しであなたの工場/サービス「プリローダー」を参照する必要があります。

angular.module('movieSeat') 
     .controller('moviesearchCtrl', ['$scope', 'moviesearchFactory', 'preloader', function ($scope, moviesearchFactory, preloader) { 

}) 
関連する問題