2016-04-28 6 views
1

Hey Leute haben ein kleines Problem, dass ich nicht scheinen kann, das Problem zu sehen. Ich baue eine eckige Anwendung und bekomme den Fehler, der im Titel der Frage angegeben ist. Ich habe die $timeout in den Controller injiziert, aber ich bekomme immer noch einen Fehler mit diesem Bit Code kann jemand mir sagen, wo ich vielleicht falsch liege?

prost

(function() { 
'use strict'; 
angular 
    .module('my.module') 
    .controller('NewSearchController', NewSearchController); 

NewSearchController.$inject = ['$rootScope', '$scope', '$location','UserService', 
    'SearchService', '$window', '$controller', '$mdDialog', 'ModalService', '$routeParams', '$timeout']; 


/** 
* @namespace ContactController 
*/ 

function NewSearchController($rootScope, $scope, $location, UserService, SearchService, $window, $controller, $mdDialog, $routeParams, $timeout) 

Timeout Code:

var timerMax = false; 
    $scope.$watch(NewSearchController.searchObject.maxDayRate, function(){ 
     if(timerMax) { 
     $timeout.cancel(timerMax); 
     } 
     timerMax= $timeout(function() { 
     NewSearchController.updateSearchFilters(); 
     }, 5000); 
    }); 
+0

Bitte versuchen Sie, vollständige Codebeispiele zu posten. Ihr Fehler hängt wahrscheinlich damit zusammen, wie Sie '$ timeout' injizieren, aber ohne alles zu sehen, was ich nur rate. – Duncan

+0

bearbeitet meine Frage, um zu zeigen, wie es injiziert wird. –

+0

fügte meine Antwort hinzu und erklärte, wo Sie die Injektion falsch bekommen haben. – Duncan

Antwort

2

Das Problem ist in Ihrer Injektion: "ModalService" als injizierbar aufgeführt, aber nicht einer der Parameter so eckig wird 'ModalService' injizieren und die Werte, die Sie für Parameter später in der Liste erhalten, sind alle falsch.

Wenn Sie Ihre App mit etwas wie gulp erstellen, verwenden Sie gulp-ng-annotate, um die Injektionsliste automatisch zu erstellen. So wird es nicht schiefgehen und Sie müssen sich nie darum sorgen.

+0

Prost das kann ein Fall von mir sein, den Code für zu lange suchen. erkundige das und rufe die Antwort an, wenn sie es repariert, danke für das frische Augenpaar: P –

+0

Scheint zu arbeiten wird deine Antwort akzeptieren, wenn der Frage-Timer abgelaufen ist (wer wusste, dass stackoverflow dich warten ließ, um Antworten zu bekommen) –

0
'$mdDialog', 'ModalService', '$routeParams', '$timeout'] 


$mdDialog, $routeParams, $timeout 

diese beiden dnt Spiel es ändern zu

$mdDialog,ModalService, $routeParams, $timeout 
0

Sie haben $ Timeout an Position 11th Position in Controller injiziert aber in Funktion ist es auf 10. Position wie Sie ModalService in Funktion verpasst haben. So ist der Fehler nur deshalb. Sie müssen die Abhängigkeiten an der gleichen Stelle injizieren und hinzufügen, sonst funktioniert es nicht.

Verwandte Themen