2013-04-28 8 views
15

Chcę zawinąć ten https://gist.github.com/nblumoe/3052052 w module. Właśnie zmieniłem kod z TokenHandler na UserHandler, ponieważ na każde żądanie api chcę wysłać ID użytkownika.Nie znaleziono modułu w angularjs

Jednak otrzymuję moduł UserHandler nie znaleziony w konsoli firebug. Oto mój pełny kod: http://dpaste.com/1076408/

wymienionych w odpowiednich części:

angular.module('UserHandler').factory('UserHandler', function() { 
    var userHandler = {}; 
    var user = 0; 

    /... 

    return userHandler; 
}); 

angular.module('TicketService', ['ngResource', 'UserHandler']) 
     .factory('Ticket', ['$resource', 'UserHandler', 
       function($resource, userHandler){ 

    var Ticket = $resource('/api/tickets/:id1/:action/:id2', 
    { 
     id1:'@id' 
    }, 

    { 
     list: { 
      method: 'GET' 
     } 
    }); 

    Ticket = userHandler.wrapActions(Ticket, ["open", "close"]); 

    return Ticket; 
}]); 

Każdy pomysł, dlaczego tak się dzieje? Jak to naprawić?

Odpowiedz

39

Wielu wpadło w tę samą pułapkę. Ja włączyłem.

Poniższe nie definiuje nowego modułu. Spróbuje pobrać moduł o nazwie UserHandler, który nie został jeszcze zdefiniowany.

angular.module('UserHandler') 

Podanie (pustej) tablicy zależności jako drugiego argumentu spowoduje zdefiniowanie modułu.

angular.module('UserHandler', []) 
+0

To świetnie, że yo kątowe: kontroler tworzy coś, co nie działa wtedy! – mstreffo

+0

@mstreffo Wyjaśnij ... – Bart

+1

Używam yo do generowania szablonów kątowych (zobacz https://github.com/yeoman/generator-angular), a to tworzy taki kontroler: angular.module ('clientApp') .controller ("MycontrollerCtrl", funkcja ($ scope) {...}), która nie działa. Muszę dodać [] do angular.module(), aby działał. – mstreffo

2

Jestem nowym użytkownikiem javascript i spędziłem kilka godzin, aby odkryć mój problem. Funkcja inicjalizacji modułu może zostać zignorowana. Aby tego uniknąć, nie zapomnij dodać pustego nawiasu na końcu funkcji:

(function() { 
    "use strict"; 
    var app = angular.module("app", []); 
    })(); //<<---Here