2013-08-04 17 views
36

मैं egghead.io पर वीडियो ट्यूटोरियल्स का अनुसरण कर रहा हूं लेकिन जब उन्होंने एक कारखाना बनाया (उदाहरण here देखें) मैं अपने उदाहरण का पालन करने की कोशिश कर रहा हूं, तो मुझे "कोणीय परिभाषित नहीं किया गया है" संदर्भ त्रुटि लेकिन मैं यह मेरी 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> 

और यह मेरा जावास्क्रिप्ट फ़ाइल "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){ 

    } 

मैंने कुछ पदों को पढ़ा है जहां समान होता है (here) और अगर मैं गलत हूं तो कृपया मुझे सही करें, लेकिन मुझे लगता है कि बूट स्ट्रैपिंग के साथ ऐसा करना है और मैंने angular.bootstrap(document, ['Data']); का उपयोग करके मैन्युअल रूप से बूटस्ट्रैपिंग करने का प्रयास किया है लेकिन बिना किसी सफलता के, अभी भी एक ही त्रुटि मिलती है।

लेकिन मैं क्या जानना चाहता हूं, यह अंडेहेड वीडियो श्रृंखला की तरह ऑनलाइन कई उदाहरणों के लिए क्यों काम करता है, लेकिन मुझे लगता है कि मुझे लगता है कि मैंने अपने वीडियो का बहुत बारीकी से पालन किया है। क्या यह हाल के संस्करणों में कोणीय में बदलाव है?

उत्तर

85

आपको कोणीय संदर्भ वाले एक के बाद अपना स्क्रिप्ट टैग रखना होगा। यह head से बाहर स्थानांतरित करें:

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

जिस तरह से आप यह निर्धारित किया है अब तक, अपनी स्क्रिप्ट से पहले कोणीय पृष्ठ पर लोड किया जाता है चलाता है।

+0

धन्यवाद, मेरी ओर से एक मूर्खतापूर्ण गलती बहुत सराहना, एक बार यह मेरे – jonnie

+3

मैं एक ही समस्या में पड़ गए करने की अनुमति देता मैं आपका जवाब सिवाय होगा। यह एक वीडियो में अंडेहेड के कारण होता है जिसमें पेज के निचले हिस्से में angular.min.js परिभाषित होता है, और फिर किसी अन्य वीडियो में इसे शीर्ष पर शीर्ष पर ले जाया जाता है जहां main.js परिभाषित किया जाता है। – homaxto

+1

मेरा बहुत मूर्खतापूर्ण गलती थी। मेरे पास HTML फ़ाइल पर 'angular.js' फ़ाइल से लिंक नहीं था। मुझे एक ही त्रुटि थी। – Deke

0

आप कोणीय जे एस

के लिए स्क्रिप्ट टैग नियत नहीं किया है

आप cdn का उपयोग कर या अपनी परियोजना के लिए AngularJS को डाउनलोड करने और फिर इसे संदर्भित

इस आप अपने खुद के जावा स्क्रिप्ट जोड़ने के लिए के बाद से ऐसा कर सकते हैं आपके मामले में

कि

+2

आपने ऐसा करने की कोशिश नहीं की, है ना? – Tibrogargan

+0

क्षमा करें दोस्त मेरे खराब मैं पिछले