एक राज्य मान लीजिए projects.new कहा जाता है जहां नईपरियोजनाओं की एक नेस्टेड राज्य है। क्या केवल बच्चे के टेम्पलेट को दिखाने के लिए अभिभावक के टेम्पलेट को छिपाने का कोई तरीका है?यूआई-रूटर छिपाने माता पिता टेम्पलेट
उत्तर
आप जांच सकते हैं कि राज्य (मार्ग) कब बदलता है और पैरेंट व्यू को छुपाता है। Demo in jsfiddle। यह कामकाजी उदाहरण AngularUI Router का उपयोग करता है लेकिन तर्क मानक ngRoute के साथ काफी समान है।
var parents = ['parent'];
$rootScope.$on('$stateChangeSuccess', function(event, toState) {
$scope.hideParent = parents.indexOf(toState.name) !== -1 ? false : true;
});
या हम जांच कर सकते हैं कि राज्य के नाम में मूल राज्य का नाम है या नहीं। एक साधारण रेगेक्स पैटर्न हमें बता सकता है, राज्य नाम parent.child
को सीमित करने के लिए डॉट नोटेशन का उपयोग करते हैं।
var re = /^projects.\w+/;
$rootScope.$on('$stateChangeSuccess', function(event, toState) {
$scope.hideParent = re.test(toState.name);
});
इस समस्या को हल करने के दो तरीके हैं।
नाम से ui दृश्य को संबोधित करते
आप या तो नामित दृश्यों का उपयोग घोषित करने के नाम से दृश्य संबोधित करके कि अपने टेम्पलेट सही "जनक" ui ध्यान में रखते हुए रेंडर किया जाना चाहिए की तरह यहाँ किया जा सकता था:
https://github.com/angular-ui/ui-router/wiki/Multiple-Named-Views
इसके लिए या तो ज्ञात दादाजी राज्य का संदर्भ देकर ui-view
तत्वों को नामित करने या उन्हें संबोधित करने की आवश्यकता है।
एक अलग राज्य पदानुक्रम
एक अन्य विकल्प इन राज्यों को एक दूसरे से विरासत (नहीं करने के लिए है का उपयोग करना या कम से कम होने .new
projects
सूची राज्य का एक बच्चा नहीं किया जा रहा। नाम में डॉट का उपयोग करके, आप बिंदु से पहले राज्य के एक substate परिचय तो वहाँ अनेक विकल्प हैं:।
- राज्यों
projects
औरprojects_new
उन्हें एक ही स्तर पर दिखाई देते हैं और इस प्रकार सूची टेम्पलेट मेंnew
हिस्सा रेंडर करने के लिए कोशिश नहीं कर कर बुला। (मुझे इस दृष्टिकोण को बहुत पसंद नहीं है ause वहाँ उन राज्यों के बीच आम में कुछ) - एक सार राज्य को शुरू करने और इस के अंतर्गत वर्तमान "परियोजना सूची" राज्य चलती है, ताकि आप
projects
दो substatesprojects.list
औरprojects.new
साथ सार जहांprojects.list
सिर्फ माता-पिता का यूआरएल का उपयोग करता है राज्य। विवरण के लिए कृपया https://github.com/angular-ui/ui-router/wiki/Nested-States-%26-Nested-Views#abstract-state-usage-examples
- 1. Django: माता-पिता टेम्पलेट
- 2. माता-पिता के jQuery माता-पिता
- 3. माता पिता
- 4. माता पिता
- 5. माता-पिता
- 6. माता पिता
- 7. माता-पिता
- 8. माता पिता
- 9. माता-पिता
- 10. माता-पिता
- 11. माता पिता छिपाएं निर्देशिका/www
- 12. माता-पिता निर्देश
- 13. माता-पिता वर्ग
- 14. पहुँच $ माता पिता की $ माता पिता - नेस्टिंग संदर्भ
- 15. बाल माता पिता माता पिता से चौड़ाई% ले
- 16. टेम्प्लेटेड माता पिता वर्ग
- 17. माता-पिता सीमा-त्रिज्या
- 18. जेनेरिक माता पिता
- 19. माता-पिता नियंत्रक
- 20. कोई माता-पिता
- 21. सीएसएस: रिश्तेदार माता-पिता
- 22. माता पिता परियोजना निर्देशिका
- 23. js माता पिता घटक
- 24. माता पिता निकटतम बनाम
- 25. SVN माता पिता
- 26. स्विंगनोड के माता-पिता
- 27. माता पिता का चयन
- 28. अपने माता-पिता
- 29. पहुँच माता पिता गुंजाइश
- 30. जेएसटी - माता-पिता नोड
पर महान दस्तावेज़ों पर एक नज़र डालें, मैं इसकी तलाश कर रहा था, और इस उत्तर ने मेरी मदद की: http://stackoverflow.com/questions/21696104/how-to-ng-hide- और-एनजी-शो-व्यू-एंजुलर-यूई-राउटर –
देखें http://stackoverflow.com/questions/30876130/hiding-parent-state-view-from-child-state-view-in-angularjs-best -practices – z00bs