2016-01-04 15 views
6

में अनंत नेस्टेड रूटिंग, मैं कोणीय 2 में एक फ़ाइल एक्सप्लोरर ऐप को कार्यान्वित करने की कोशिश कर रहा हूं।Angular2

मेरे होम घटक में फ़ोल्डरों और फ़ाइलों की एक सूची होगी। यदि मैं सूची में कुछ फ़ोल्डर पर क्लिक करता हूं, तो क्वेरी स्ट्रिंग के रूप में क्लिक किए गए फ़ोल्डर के नाम का उपयोग करके मुझे किसी अन्य घटक पर नेविगेट करना चाहिए जिसमें फिर से इसके अंदर और फ़ोल्डर और फ़ाइलों की सूची हो और यह कुछ और घोंसला वाले स्तरों के लिए जारी रह सके। मैं प्रत्येक खोला फ़ोल्डर पथ url बार में दिखाई देना चाहते हैं (यानी ./Folder1/Folder1.1/Folder1.1.2...so पर।)

Folder1 
    Folder1.1 
     Folder1.1.1 
     Folder1.1.2 
    Folder1.2 
Folder2 

किसी को भी, क्योंकि के बाद से इस को प्राप्त करने में मेरी मदद कृपया घटक को व्यू और राउटर दोनों के रूप में उपयोग नहीं किया जा सकता है, मुझे इसे प्राप्त करने में कठिनाई हो रही है क्योंकि यह लगभग अनंत घोंसले की अनुमति नहीं है।

+0

क्या आपको इसका समाधान मिला? –

उत्तर

2

क्या कोई कारण है कि प्रत्येक क्लिक पर आपको अलग दृश्य पर जाने की आवश्यकता क्यों है? फ़ाइल सिस्टम के अपने ट्रैवर्सल का प्रतिनिधित्व करने वाले कुछ प्रकार के बूटस्ट्रैप ब्रेडक्रंब के साथ वर्तमान दृश्य को अपडेट करना आसान नहीं होगा?

कहा जा रहा है कि आप हमेशा ऐसा कुछ कर सकते हैं।

@RouteConfig के साथ अपने पथों की स्थापना:

@RouteConfig([ 
    {path:'/', name:'Home', component:HomeComponent}, 
    {path:'/dir/:name', name:'Dir',component:DirComponent} 
]) 

कैसे आप एक यूआरएल परम के रूप में dir नाम दे सकते हैं का उदाहरण: अपने DirComponent के निर्माता के भीतर फिर

<a [routerLink]="['Dir',{name:'MyDirectory'}]">Profile</a> 

आप मिल सकता है कि param:

constructor(private params: RouteParams) { 

      let dirName = params.get('name'); 
} 

मूल अवधारणा यह है कि आपके मुख्य घटक में आप पा सकते हैं एक निर्देशिका नाम है और इसे यूआरएल परम के रूप में दूसरे मार्ग पर सौंप दें।

एक बार फिर, मैं पुनर्विचार का सुझाव दूंगा कि आपको प्रत्येक निर्देशिका ट्रैवर्सल के लिए एक अलग मार्ग की आवश्यकता क्यों है, लेकिन इससे आपको घटकों के बीच जानकारी पास करने के लिए एक विकल्प देना चाहिए।

मैं माता-पिता/बाल घटकों के बीच डेटा साझा करने का सुझाव भी दूंगा। यदि आपको एकाधिक घटकों के लिए उपलब्ध डेटा की आवश्यकता है तो यह एक और विकल्प हो सकता है।