जवाबों:
दोनों एसपीए (एकल पृष्ठ अनुप्रयोग) में मार्ग के प्रयोजनों के लिए उपयोग किए जाते हैं।
नियंत्रकों और विचारों के URL (HTML partials)। यह $ location.url देखता है () और मौजूदा मार्ग की परिभाषा में पथ को मैप करने का प्रयास करता है।
एचटीएमएल
<div ng-view></div>
उपरोक्त टैग उस टेम्पलेट से रेंडर करेगा, $routeProvider.when()
जिसे आपने .config
कोणीय के (कॉन्फ़िगरेशन चरण) में उल्लेखित किया था
सीमाएं: -
ng-view
पृष्ठ पर एकल हो सकता है$routeProvider
विफल हो जाता है। (है कि प्राप्त करने के लिए, हम जैसे निर्देशों उपयोग करने की आवश्यकता ng-include
, ng-switch
, ng-if
, ng-show
उन्हें एसपीए में है करने के लिए है, जो बुरा लग रहा है)AngularUI Router, AngularJS के लिए एक रूटिंग फ्रेमवर्क है, जो आपको अपने इंटरफ़ेस के हिस्सों को एक स्टेट मशीन में व्यवस्थित करने की अनुमति देता है। यूआई-राउटर राज्यों के आसपास आयोजित किया जाता है, जिसमें वैकल्पिक रूप से मार्ग, साथ ही साथ अन्य व्यवहार भी हो सकते हैं।
एकाधिक और नामांकित दृश्य
एक और महान विशेषता एक टेम्पलेट में कई यूआई-विचार रखने की क्षमता है।
जबकि कई समानांतर विचार एक शक्तिशाली विशेषता है, आप अक्सर अपने view
एस को घोंसले के द्वारा अपने इंटरफेस को अधिक प्रभावी ढंग से प्रबंधित करने में सक्षम होंगे , और उन विचारों को नेस्टेड राज्यों के साथ जोड़ देंगे ।
एचटीएमएल
<div ui-view>
<div ui-view='header'></div>
<div ui-view='content'></div>
<div ui-view='footer'></div>
</div>
बहुमत की ui-router
शक्ति यह है कि नेस्टेड राज्य और विचारों का प्रबंधन कर सकता है।
पेशेवरों
ui-view
एक पृष्ठ पर कई हो सकते हैंui-view="some"
केवल @
राज्य के नाम के साथ निरपेक्ष रूटिंग का उपयोग करके राज्य का परिवर्तन कर सकते हैं ।@
परिवर्तन कर सकते हैं केवल बदलने के लिए उपयोग करके ui-view="some"
। यह ui-view
जाँचने के बजाय प्रतिस्थापित करेगा कि यह नेस्टेड है या नहीं।ui-sref
एक href
URL बनाने के लिए उपयोग कर सकते हैं URL
, साथ ही आप json
प्रारूप में एक राज्य परमान भी दे सकते हैं ।अधिक जानकारी के लिए कोणीय यूआई-राउटर
राज्यों के साथ विभिन्न नेस्टेड दृश्य के साथ बेहतर लचीलेपन के लिए, मैं आपको जाना पसंद करूंगा ui-router
$stateProvider
और$routeProvider
राउटर के अपने एनजी-राउटर को ध्यान URLs
में रखा जाता है, राउटिंग के दौरान, यूआई-राउटर states
यूआरएल के अलावा लेता है।
राज्य नामित, नेस्टेड और समानांतर विचारों के लिए बाध्य हैं, जिससे आप अपने एप्लिकेशन के इंटरफ़ेस को शक्तिशाली रूप से प्रबंधित कर सकते हैं।
एनजी-राउटर में रहते समय, आपको <a href="">
टैग के माध्यम से लिंक प्रदान करते समय यूआरएल के बारे में बहुत सावधान रहना होगा , यूआई-राउटर में आपको केवल ध्यान state
में रखना होगा। आप जैसे लिंक प्रदान करते हैं <a ui-sref="">
। ध्यान दें कि यदि आप <a href="">
यूआई-राउटर में उपयोग करते हैं , तो भी जैसे आप एनजी-राउटर में करेंगे, यह अभी भी काम करेगा।
इसलिए, भले ही आप किसी दिन अपने URL को बदलने का निर्णय लेते हैं, फिर भी आपका state
वही रहेगा और आपको केवल URL बदलने की आवश्यकता है .config
।
जबकि एनकाउंटर का उपयोग सरल ऐप बनाने के लिए किया जा सकता है, यूआई-राउटर जटिल एप्लिकेशन के लिए विकास को बहुत आसान बनाता है। यहाँ इसकी विकी है।
$ मार्ग: इसका उपयोग नियंत्रकों और दृश्यों (HTML partials) के लिए गहरी-लिंकिंग URL के लिए किया जाता है और मार्ग की मौजूदा परिभाषा से पथ को मैप करने के लिए $ location.url () देखता है।
जब हम ngRoute का उपयोग करते हैं, तो मार्ग $ मार्गप्रोपाइडर से कॉन्फ़िगर किया गया है और जब हम ui- राउटर का उपयोग करते हैं, तो मार्ग $ stateProvider और $ urlRouterProvider के साथ कॉन्फ़िगर किया गया है।
<div ng-view></div>
$routeProvider
.when('/contact/', {
templateUrl: 'app/views/core/contact/contact.html',
controller: 'ContactCtrl'
});
<div ui-view>
<div ui-view='abc'></div>
<div ui-view='abc'></div>
</div>
$stateProvider
.state("contact", {
url: "/contact/",
templateUrl: '/app/Aisel/Contact/views/contact.html',
controller: 'ContactCtrl'
});