javascript कोणीय-मार्ग और कोणीय-यूई-राउटर के बीच क्या अंतर है?




angularjs angularjs-routing (12)

मैं अपने बड़े अनुप्रयोगों में AngularJS का उपयोग करने की योजना बना रहा हूं। तो मैं उपयोग करने के लिए सही मॉड्यूल खोजने के लिए प्रक्रिया में हूँ।

NgRoute (कोणीय-मार्ग.जेएस) और यूई-राउटर (कोणीय-ui-router.js) मॉड्यूल के बीच क्या अंतर है?

कई लेखों में जब ngRoute का उपयोग किया जाता है, रूट $Pproider के साथ कॉन्फ़िगर किया गया है । हालांकि, जब यूई-राउटर के साथ उपयोग किया जाता है, तो रूट $ राज्यप्रोवाइडर और $ urlRouterProvider के साथ कॉन्फ़िगर किया जाता है

बेहतर प्रबंधन और विस्तारशीलता के लिए मुझे किस मॉड्यूल का उपयोग करना चाहिए?


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

यूई-राउटर यूआरएल-केंद्रित मार्गों से फोकस को "राज्य" में बदल देता है, जो यूआरएल में दिखाई दे सकता है या नहीं।

यूई-राउटर द्वारा जोड़े गए प्राथमिक विशेषताएं घोंसले वाले राज्य और नामित विचार हैं।

नेस्टेड राज्य आपको आवेदन के विभिन्न टुकड़ों के लिए नियंत्रक तर्क को अलग करने की अनुमति देते हैं। इसका एक बहुत ही सरल उदाहरण शीर्ष पर प्राथमिक नेविगेशन, बाईं ओर एक माध्यमिक नेविगेशन सूची और दाईं ओर सामग्री वाला एक ऐप होगा। नेस्टेड राज्यों के बिना, एक नियंत्रक को आमतौर पर माध्यमिक नेविगेशन के साथ-साथ सामग्री के लिए प्रदर्शन तर्क को संभालना होगा। नेस्टेड रूटिंग आपको इन चिंताओं को अलग करने की अनुमति देती है।

नामित विचार यूई-राउटर की एक और अतिरिक्त विशेषता है। NgRoute के साथ, आप केवल एक पृष्ठ पर एक एकल ngView निर्देश प्राप्त कर सकते हैं, जबकि यूई-राउटर में नामित विचारों के साथ आप एकाधिक यूई-व्यू निर्देश निर्दिष्ट कर सकते हैं, और फिर प्रत्येक राज्य नाम दृश्यों के टेम्पलेट और नियंत्रक को प्रभावित करने में सक्षम है। इसका एक सुपर सरल उदाहरण होगा कि आपके ऐप की मुख्य सामग्री प्राथमिक दृश्य हो, और फिर एक पाद लेख भी हो जो एक अलग यूई-व्यू होगा। इस परिदृश्य में, पाद लेख नियंत्रक को अब राज्य / मार्ग परिवर्तनों को सुनना नहीं है।

इस पॉडकास्ट एपिसोड पर एनजीआरओटीई और यूई-राउटर की अच्छी तुलना मिल सकती है।

चीजों को और अधिक भ्रमित करने के लिए, नए "आधिकारिक" रूटिंग मॉड्यूल पर नजर रखें कि कोणीय टीम एंगुलर के संस्करण 1.5 और 2.0 के लिए रिलीज होने की उम्मीद कर रही है। यह ngRoute मॉड्यूल को बदल देगा। नए राउटर मॉड्यूल के लिए वर्तमान दस्तावेज Here है - कार्यान्वयन अभी तक अंतिम रूप देने के बाद से यह पोस्टिंग के रूप में काफी स्पष्ट है। इस मॉड्यूल को वास्तव में रिलीज़ होने पर अधिक समाचार के लिए here देखें।


ui राउटर अपने जीवन को आसान बनाते हैं! आप इसे अपने अनुप्रयोगों में इंजेक्शन के माध्यम से AngularJS एप्लिकेशन में जोड़ सकते हैं ...

ng-route कोर एंगुलरजेएस के हिस्से के रूप में आता है, इसलिए यह आसान है और आपको कम विकल्प देता है ...

एनजी-मार्ग को बेहतर तरीके से समझने के लिए यहां https://docs.angularjs.org/api/ngRoute : https://docs.angularjs.org/api/ngRoute

इसके अलावा, इसका उपयोग करते समय, उपयोग करने के लिए मत भूलना: ngView ..

एनजी-यूई-राउटर अलग है लेकिन:

ui-router लेकिन आपको और विकल्प देता है ....


ng-View (एंगुलरजेएस टीम द्वारा विकसित) का उपयोग प्रति पृष्ठ केवल एक बार किया जा सकता है, जबकि ui-View (तृतीय पक्ष मॉड्यूल) प्रति पृष्ठ कई बार उपयोग किया जा सकता है।

इसलिए ui-View सबसे अच्छा विकल्प है।


ngRoute एक कोणीय कोर मॉड्यूल है जो मूल परिदृश्यों के लिए अच्छा है। मेरा मानना ​​है कि वे आगामी रिलीज में और अधिक शक्तिशाली विशेषताएं जोड़ देंगे।

यूआरएल: https://docs.angularjs.org/api/ngRoute

यू-राउटर एक योगदान मॉड्यूल है जो एनजीआरओटीई की समस्याओं को दूर करता है। मुख्य रूप से नेस्टेड / जटिल विचार।

यूआरएल: ui-router

यूई-राउटर और एनजी रूट के बीच कुछ अंतर

http://www.amasik.com/angularjs-ngroute-vs-ui-router/


AngularUI राउटर AngularJS के लिए एक रूटिंग फ्रेमवर्क है, जो आपको अपने इंटरफ़ेस के हिस्सों को एक राज्य मशीन में व्यवस्थित करने की अनुमति देता है। कोणीय एनजी रूट मॉड्यूल में $ रूट सेवा के विपरीत, जो यूआरएल मार्गों के आसपास व्यवस्थित है, यूआई-राउटर राज्यों के चारों ओर आयोजित किया जाता है, जो वैकल्पिक रूप से मार्गों के साथ-साथ अन्य व्यवहार भी संलग्न हो सकते हैं।

ui-router


ngRoute एक मूल रूटिंग लाइब्रेरी है, जहां आप किसी भी रूट के लिए केवल एक दृश्य और नियंत्रक निर्दिष्ट कर सकते हैं।

यूई-राउटर के साथ, आप समांतर और घोंसले दोनों, एकाधिक दृश्य निर्दिष्ट कर सकते हैं। इसलिए यदि आपके आवेदन को किसी भी तरह के जटिल रूटिंग / विचारों की आवश्यकता है (या भविष्य में आवश्यकता हो सकती है), तो यूई-राउटर के साथ आगे बढ़ें।

AngularUI राउटर के लिए http://www.ng-newsletter.com/posts/angular-ui-router.html सबसे अच्छी शुरूआत गाइड है।


यदि आप ngRoute paradigm के भीतर लागू नेस्टेड दृश्य कार्यक्षमता का उपयोग करना चाहते हैं, तो angular-route-segment.com प्रयास करें - इसका उद्देश्य इसे बदलने के बजाय ngRoute को विस्तारित करना है।


ngRoute एक मॉड्यूल है जो Angular.js टीम द्वारा विकसित किया गया था जो पहले कोणीय कोर का हिस्सा था।

यूई-राउटर एक ढांचा है जो कोणीय.जेएस परियोजना के बाहर रूटिंग क्षमताओं को बेहतर बनाने और बढ़ाने के लिए बनाया गया था।


मूलभूत चीज़ जो आपको $state.go : ng-router $location.path() का उपयोग करता है और $state.go राउटर $state.go का उपयोग करता है

हमें सभी सुविधाओं को आराम करो।


ui-router एक तृतीय पक्ष मॉड्यूल है और यह बहुत शक्तिशाली है। यह सामान्य ngRoute के साथ-साथ कई अतिरिक्त कार्यों के साथ सबकुछ का समर्थन करता है।

यहां कुछ सामान्य कारण हैं ui-राउटर ngRoute पर चुना गया है:

  • यूई-राउटर नेस्टेड विचारों और एकाधिक नामित विचारों की अनुमति देता है। यह बड़े ऐप के साथ बहुत उपयोगी है जहां आपके पास ऐसे पृष्ठ हो सकते हैं जो अन्य वर्गों से प्राप्त होते हैं।

  • यूई-राउटर आपके लिए राज्य के नामों के आधार पर राज्यों के बीच मजबूत प्रकार के लिंकिंग की अनुमति देता है। जब आप ui-sref साथ अपने लिंक बनाते हैं तो यूआरएल को उस स्थान पर प्रत्येक लिंक को अपडेट कर ui-sref । बड़ी परियोजनाओं के लिए बहुत उपयोगी जहां URL बदल सकते हैं।

  • decorator की अवधारणा भी है जिसका उपयोग आपके मार्गों को गतिशील रूप से बनाए जाने के लिए उपयोग किए जा रहे यूआरएल के आधार पर बनाया जा सकता है। इसका मतलब यह हो सकता है कि आपको हाथ से पहले अपने सभी मार्ग निर्दिष्ट करने की आवश्यकता नहीं होगी।

  • states आपको अलग-अलग राज्यों के बारे में अलग-अलग जानकारी मैप करने और एक्सेस करने की अनुमति देता है और आप आसानी से राज्यों के बीच राज्य राज्यों के माध्यम से जानकारी पास कर सकते हैं।

  • यूआई-राउटर द्वारा प्रदान किए गए $state माध्यम से यूआई तत्व (वर्तमान स्थिति के नेविगेशन को हाइलाइट करना) को समायोजित करने के लिए आप किसी राज्य के किसी राज्य या माता-पिता में आसानी से निर्धारित कर सकते हैं कि आप $rootScope पर इसे सेट करके एक्सपोज़ कर सकते हैं run

संक्षेप में, ui-राउटर ngRouter है और अधिक सुविधाओं के साथ, चादरों के तहत यह काफी अलग है। ये अतिरिक्त सुविधाएं बड़े अनुप्रयोगों के लिए बहुत उपयोगी हैं।

अधिक जानकारी:


कोणीय 1.x

https://docs.angularjs.org/api/ngRoute :

रूटिंग के लिए कोणीय जेएस टीम द्वारा एनजी-मार्ग विकसित किया गया है।

एनजी-मार्ग: यूआरएल (स्थान) आधारित रूटिंग।

उदाहरण के लिए:

$routeProvider
    .when("/home", {
        templateUrl : "home.html"
    })

ui-router :

यूई-राउटर तीसरे पक्ष के मॉड्यूल द्वारा develoepd है।

यूई-राउटर: राज्य आधारित रूटिंग

उदाहरण के लिए:

 $stateProvider
        .state('home', {
            url: '/home',
            templateUrl: 'home.html'
        })

-> ui-राउटर नेस्टेड विचारों के लिए अनुमति देता है

-> ui-राउटर एनजी-रूट से अधिक शक्तिशाली

https://docs.angularjs.org/api/ngRoute , ui-router


ngRoute एक मॉड्यूल है जो AngularJS टीम द्वारा विकसित किया गया था जो पहले AngularJS कोर का हिस्सा था।

यूई-राउटर एक ढांचा है जो एंगुलरजेएस प्रोजेक्ट के बाहर रूटिंग क्षमताओं को बेहतर बनाने और बढ़ाने के लिए बनाया गया था।

यूई-राउटर ui-router :

AngularUI राउटर AngularJS के लिए एक रूटिंग फ्रेमवर्क है, जो आपको अपने इंटरफ़ेस के हिस्सों को एक राज्य मशीन में व्यवस्थित करने की अनुमति देता है। एंगुलर कोर में $ रूट सेवा के विपरीत, जो यूआरएल मार्गों के आसपास व्यवस्थित है, यूआई-राउटर राज्यों के चारों ओर आयोजित किया जाता है, जो वैकल्पिक रूप से मार्गों के साथ-साथ अन्य व्यवहार भी संलग्न हो सकते हैं।

राज्यों को नाम, नेस्टेड और समानांतर विचारों के लिए बाध्य किया जाता है, जिससे आप अपने एप्लिकेशन के इंटरफेस को शक्तिशाली तरीके से प्रबंधित कर सकते हैं।

उनमें से कोई भी बेहतर नहीं है, आपको अपनी परियोजना के लिए सबसे उपयुक्त चुनना होगा।

हालांकि, अगर आप अपने आवेदन में जटिल विचार रखने की योजना बना रहे हैं और आप "$ राज्य" धारणा से निपटना चाहते हैं। मैं आपको यूई-राउटर चुनने की सलाह देता हूं।





angularjs-module