2013-08-04 17 views
36

Podążam za samouczkami wideo na temat egghead.io, ale starając się podążać za jego przykładem, gdy tworzył fabrykę (zobacz wideo here) ciągle otrzymuję "kątowy nie jest zdefiniowany" błąd ale mam włączone kątową skryptCo jest przyczyną "kątowego nie jest zdefiniowany"

to jest moja strona html:

<!DOCTYPE html> 
<html> 
    <head> 
    <title>Prototype</title> 
    <link rel="stylesheet" type="text/css" href="foundation.min.css"> 
    <script type="text/javascript" src="main.js"></script> 
    </head> 
    <body> 

    <div data-ng-app=""> 

     <div data-ng-controller="FirstController"> 
      <input type="text" data-ng-model="data.message"> 
      <h1>{{ data.message }}</h1> 
     </div> 



     <div data-ng-controller="SecondController"> 
      <input type="text" data-ng-model="data.message"> 
      <h1>{{ data.message }}</h1> 
     </div> 


    </div> 
    <script type="text/javascript" src="angular.min.js"></script> 
    </body> 
</html> 

i to jest mój plik javascript "main.js":

//Services 
    // step 1 create an app        
    var myApp = angular.module('Data', []). 
    // tep 2 create factory 
       // Service name, function 
    myApp.factory('Data', function(){ 
     return { message: "I'm Data from a Service" } 
    }); 



//Controllers 
    function FirstController($scope, Data){ 
     $scope.data = Data; 
    } 

    function SecondController($scope){ 

    } 

Przeczytałem kilka postów, gdzie podobne zdarzyć się (here) i proszę mnie poprawić, jeśli jestem w błędzie, ale myślę, że ma to zrobić z wiązaniem Boot i próbowałem ręcznie bootstrapping przy użyciu angular.bootstrap(document, ['Data']);, ale bez powodzenia, nadal dostaję ten sam błąd.

Ale chcę wiedzieć, dlaczego działa to w przypadku wielu przykładów w Internecie, takich jak seria wideo z jajami, ale mam problemy, ponieważ uważam, że śledziłem jego film bardzo uważnie. czy jest to zmiana kątowa w najnowszych wersjach?

Odpowiedz

85

Musisz umieścić swój tag skryptu po tagu, który odwołuje się do Angular. Przenieść ją z head:

<script type="text/javascript" src="angular.min.js"></script> 
<script type="text/javascript" src="main.js"></script> 

Droga już ustawić go teraz, czy skrypt działa przed kątowa jest załadowany na stronie.

+0

Dziękuję, głupi błąd z mojej strony bardzo cenione, będę wasza odpowiedź raz to pozwala mi – jonnie

+3

wpadłem na ten sam problem. Jest to spowodowane jajowodem w jednym filmie, którego plik angular.min.js został zdefiniowany u dołu strony, a następnie w innym filmie jest przenoszony do nagłówka u góry, gdzie zdefiniowano plik main.js. – homaxto

+1

Mój był bardzo głupim błędem. Nie miałem linku do pliku 'angular.js' w pliku html. Miałem ten sam błąd. – Deke

0

Nie umieszcza znaczniki skryptów dla kątowych js

można zrobić za pomocą CDN lub pobierając angularjs dla danego projektu, a następnie przedstawieniu mu

po tym trzeba dodać własny skrypt java w przypadku main.js

że powinien robić

+2

Nie próbowałaś tego robić, prawda? – Tibrogargan

+0

Przepraszam, koleś, mój zły, przeoczyłem ostatni tag