2016-06-18 3 views
5

पहली बार angularJS का उपयोग करके। असल में, मैंने रूटिंग सेवा का उपयोग किया, इसलिए मेरे पास एचटीएमएल कोड वाले टेम्पलेट में रूटिंग कॉलिंग है। मेरे पास ये सभी नियमित जावास्क्रिप्ट फ़ंक्शंस भी हैं जो टेम्पलेट में कोड को ठीक से प्रदर्शित करने के लिए आवश्यक हैं (स्लाइडशो और कई अन्य चीज़ों के बीच)।एनजी-व्यू (कोणीय) के अंदर कोड के लिए नियमित जावास्क्रिप्ट का उपयोग कैसे करें

जब मैं दौड़ता हूं तो मुझे ये सभी शून्य त्रुटियां मिलती हैं (ऐसा लगता है कि मेरे जेएस फ़ंक्शन विभिन्न तत्व नहीं ढूंढ सकते हैं क्योंकि या तो यह एनजी-व्यू/टेम्पलेट में कोड एक्सेस नहीं कर सकता है या एनजी-व्यू/टेम्पलेट लोड होने से पहले इसे चलाया जा सकता है) ।

जब मैं अपने सभी जावास्क्रिप्ट कार्यों को उस नियंत्रक में पेस्ट करता हूं जिसे मैंने उस टेम्पलेट के लिए असाइन किया था, तो यह काम करता था। लेकिन मुझे ऐसा लगता है कि ऐसा नहीं करना चाहिए। यह काम करने का सही तरीका क्या है? धन्यवाद।

var app = angular.module("myApp", ["ngRoute"]); 
app.config(function($routeProvider){ 
    $routeProvider 
    .when("/",{ 
     templateUrl:"about.html", 
     controller:"aboutCtrl" 
    }) 
    .when("/aboutus", { 
     templateUrl:"entertainment.html" 
    }) 
}); 

app.controller('aboutCtrl', function($scope){ 
    //placed regular javascript/jquery code here to make it work 
}); 

उत्तर

3

आपका jQuery कार्यों शायद काम नहीं करते, क्योंकि तत्वों, जिस पर वे क्रियान्वित किया जाएगा नहीं पाया जा सकता है जब आप एक अलग मार्ग पर हैं।

तरीके है कि ठीक करने के लिए:

  • स्पष्ट तरीका: एक कोणीय निर्देश है, जिसमें आप अपने एचटीएमएल टेम्पलेट और उसके आवश्यक कोड को परिभाषित में अपने स्लाइड शो लपेटें। कोड को केवल तभी निष्पादित किया जाएगा जब टेम्पलेट को बुलाया जाता है। चूंकि आप केवल कोणीय से शुरुआत कर रहे हैं, इसलिए आपको शायद इस पर कुछ और मदद की आवश्यकता होगी।
  • कोड को टेम्पलेट में रखें: आप < स्क्रिप्ट> </स्क्रिप्ट> ब्लॉक के माध्यम से टेम्पलेट में अपनी आवश्यक जेएस डालने का भी प्रयास कर सकते हैं। इस तरह कोड का मूल्यांकन तब किया जाएगा जब आपका टेम्पलेट लोड हो।
  • जैसा कि आपने कहा था, आप अपना कोड अपने नियंत्रक में भी डाल सकते हैं। लेकिन यह अपने नियंत्रक ब्लोट जाएगा और जल्दी से

विकल्प 2 & 3 काम करेंगे अपने कोड गन्दा बनाने, लेकिन यह भी जल्दी से एक विशाल गड़बड़ में अपने एप्लिकेशन हो जाएगा। मैं निश्चित रूप से आपके कोड को साफ रखने के लिए कोणीय निर्देशों में अधिक खुदाई करने की अनुशंसा करता हूं।

शायद this tutorial आपके लिए एक अच्छा प्रारंभिक बिंदु हो सकता है।

+0

धन्यवाद एक गुच्छा। मैं और अधिक शोध करूँगा और पहले समाधान का प्रयास करूंगा क्योंकि यह सबसे सुरुचिपूर्ण लगता है। – goldensausage

+0

मैंने अपने सभी जावास्क्रिप्ट कोड को अलग-अलग निर्देशों में डालने में कामयाब रहे (टेम्पलेट यूआरएल का उपयोग करके एक HTML फ़ाइल को जोड़ने के लिए केवल जेएस कोड)। लेकिन एक और समस्या उठी। ऑफसेट हाइट उनमें कुछ पाठों के साथ गलत divs की रिपोर्ट कर रहा है (यह फिर से ताज़ा करने के बाद यह सही रिपोर्ट करता है)। मैंने $ (विंडो)। बाइंड ("लोड", फ़ंक्शन() से पहले इस समस्या को हल किया है जो सबकुछ लोड करने से पहले लोड करने और प्रस्तुत करने की अनुमति देता है। लेकिन अब यह फ़ंक्शन टेम्पलेट के अंदर उपयोग किए जाने पर भी चलता नहीं है। – goldensausage

संबंधित मुद्दे

 संबंधित मुद्दे