मैंने एंगुलरजेएस के बारे में सीखना शुरू कर दिया है और इस बारे में भ्रमित हूं कि अंतर ng-app
और data-ng-app
निर्देशों के बीच क्या अंतर हैं ।
मैंने एंगुलरजेएस के बारे में सीखना शुरू कर दिया है और इस बारे में भ्रमित हूं कि अंतर ng-app
और data-ng-app
निर्देशों के बीच क्या अंतर हैं ।
जवाबों:
इनमें से अधिकांश उत्तर बस यह कह रहे हैं कि टेम्पलेट वैध HTML , या HTML मान्यकर्ता अनुरूप बनाता है , बिना यह बताए कि इन शब्दों का क्या अर्थ है।
मुझे निश्चित रूप से पता नहीं है, लेकिन मैं अनुमान लगा रहा हूं कि ये शर्तें HTML सत्यापन कार्यक्रमों पर लागू होती हैं जो मानकों के अनुपालन के लिए आपके कोड को स्कैन करती हैं - एक तरह का संकेत। वे ng-app
एक मान्य विशेषता के रूप में नहीं पहचानते हैं । वे अपेक्षा करते हैं कि गैर डिफ़ॉल्ट HTML विशेषताओं के साथ पूर्वनिर्धारित किया जाए
data-attribute_name_here
।
इसलिए, रचनाकारों ने AngularJS
अपने निर्देशों के लिए वैकल्पिक नाम बनाए हैं जो उनके data-
सामने शामिल हैं ताकि एचटीएमएल सत्यापनकर्ता कार्यक्रम "उन्हें पसंद करें"।
रनटाइम व्यवहार के संदर्भ में कोई नहीं, वे निर्देशन के नामकरण की अलग-अलग शैली हैं जैसा कि यहाँ वर्णित है: http://docs.angularjs.org/guide/directive
निर्देश में ऊँट के नाम वाले नाम हैं जैसे कि ngBind। इन विशेष पात्रों के साथ ऊंट मामले के नाम को सांप के मामले में अनुवाद करके निर्देश प्राप्त किया जा सकता है:, -, या _। वैकल्पिक रूप से निर्देश को x- या डेटा के साथ उपसर्ग किया जा सकता है - इसे HTML सत्यापनकर्ता के अनुरूप बनाने के लिए। यहाँ कुछ संभावित निर्देशों के नामों की एक सूची दी गई है: एनजी: बाइंड, एनजी-बाइंड, एनजी_बिंद, एक्स-एनजी-बाइंड और डेटा-एनजी-बाइंड।
जैसा कि आप इसे पढ़ने से देख सकते हैं data-
इसका उपयोग आपके HTML पास HTML सत्यापनकर्ता परीक्षण / बनाने के लिए किया जा सकता है
आप कोणीय नाम स्थान की घोषणा कर सकते हैं <html xmlns:ng="http://angularjs.org" ng-app>
आधुनिक ब्राउज़रों में कोई अंतर नहीं है, लेकिन पुराने IE में, वे तब तक काम नहीं करेंगे जब तक कि आप XML नेमस्पेस को परिभाषित करने की घोषणा नहीं करते।
इसमें एक मान्यता अंतर भी है जो ng-app
मान्य XHTML नहीं है, और इससे आपका वेबपृष्ठ HTML मान्यताओं को विफल कर देगा। कोणीय आपको इसके निर्देशों के साथ उपसर्ग करने data-
या x-
इसे मान्य करने की अनुमति देने की अनुमति देता है।
यदि आप अपना पृष्ठ HTML वैध बनाना चाहते हैं, तो आप ng के बजाय, डेटा- ng- का उपयोग कर सकते हैं।
यह एक त्रुटि फेंक देगा
<div ng-app="">
<p>Input something in the input box:</p>
<p>Name: <input type="text" ng-model="name"></p>
<p ng-bind="name"></p>
</div>
इससे कोई त्रुटि नहीं होगी
<div data-ng-app="scope" data-ng-init="name='test'">
<p>Input something in the input box:</p>
<p>Name: <input type="text" data-ng-model="name"></p>
<p data-ng-bind="name"></p>
</div>
इन दो शब्दों के बीच बुनियादी अंतर यह है कि डेटा-एनजी-ऐप HTML को मान्य करता है जबकि बाद में नहीं। समयबद्धता समान रहती है। अधिक संदर्भ के लिए आप w3Validator आज़मा सकते हैं।
बिल्कुल, दोनों के बीच कोई अंतर नहीं है, सिवाय इसके कि कुछ एचटीएमएल 5 सत्यापनकर्ता एनजी-ऐप जैसी संपत्ति पर एक त्रुटि फेंक देंगे, लेकिन वे डेटा के साथ उपसर्ग के लिए कुछ भी त्रुटि नहीं फेंकते हैं, जैसे डेटा-एनजी ऐप। इसलिए डेटा का उपयोग करना- हमारे कोणीय निर्देशों के साथ उपसर्ग अच्छा है।
यहां तक कि आप नीचे दिए गए तरीकों से उपयोग कोणीय निर्देश कर सकते हैं एनजी-बिंद, एनजी: बाइंड, एनजी_बाइंड, डाटा-एनजी-बाइंड, एक्स-एनजी-बाइंड