2013-08-17 29 views
9

W mojej aplikacji robię to:Przyczyna błędu kątowego: "Błąd: brak modułu: ngCookies"?

angular.module('myApp.controllers', ['ngCookies']). 
    controller('AppCtrl', function ($scope, socket, $cookies) { 
     console.log("socket:"); 
     console.log(socket); 
     $scope.component = 'main'; 
     gLoggedIn = "no"; 
     gUserName = ""; 
     console.log("reset logged in status"); 
     sid = $cookies; 
     $scope.setComponent = function(val) { 
      $scope.component = val; 
     } 
    }). 

ale wciąż otrzymuję błąd:

TypeError: 'undefined' is not an object (evaluating 'angular.module')" and "Error: No module: ngCookies

Oczywiście załadować [ 'ngCookies'] tutaj w module! A co więcej, ja altana instalacja kątowych, skośnych ciasteczek i kątowego-ładowarki i dodał to do mojego index.jade:

script(src='bower_components/angular-cookies/angular-cookies.js') 
script(src='bower_components/angular/angular.js') 
script(src='bower_components/angular-loader/angular-loader.js') 

Więc co się dzieje?

Próbowałem dodając [ ''] ngCookies w różnych miejscach na próżno: app.js, nope; services.js, nope; więc jaki jest problem?

Odpowiedz

17

Ładowanie plików cookie kątowych przed załadowaniem pliku angular.js. Zmień kolejność tak:

script(src='bower_components/angular/angular.js') 
script(src='bower_components/angular-cookies/angular-cookies.js') 
script(src='bower_components/angular-loader/angular-loader.js') 

Myślę, że to rozwiąże twój problem.

+0

Hahah oooookay. Masz rację. To właśnie dostaję od Celu C do JavaScript. Kolejność ma znaczenie ...?! Weiiiird. – CommaToast

+0

Tak, zamówienie ma dużo więcej w JavaScript, lol – BKM

+1

JavaScript jest językiem interpretowanym a Objective-C, który jest językiem kompilowanym i dlatego liczy się kolejność ładowania plików kodu. – stefann

14

miałem dokładnie to samo, ale nie z nowym Proyect utworzonego z yeoman angular generator. Dostałem błąd za pomocą polecenia testu gruntu i zdałem sobie sprawę, że problem polega na tym, że karma.conf.js nie ładuje plików kątowych (zależnych od kątów i zależności kątowych od odkażania). Więc dodałem je do tablicy plików tego pliku.

files: [ 
    'app/bower_components/angular/angular.js', 
    'app/bower_components/angular-cookies/angular-cookies.js', 
    'app/bower_components/angular-resource/angular-resource.js', 
    'app/bower_components/angular-sanitize/angular-sanitize.js', 
    'app/bower_components/angular-mocks/angular-mocks.js', 
    'app/scripts/*.js', 
    'app/scripts/**/*.js', 
    'test/mock/**/*.js', 
    'test/spec/**/*.js' 
], 

I działa!

Mam nadzieję, że przydadzą się użytkownikom!

+0

dzięki mój przyjacielu! – connorbode

Powiązane problemy