मेरे पास एक कोणीय 2.0 (स्थिर संस्करण) ऐप है जहां इकाइयों में से एक project
है। इन projects
में से प्रत्येक के लिए, मैं इसके विवरण करवाते विभिन्न वर्गों/मार्गों फैल गया है:कोणीय 2 - माता-पिता और बाल मार्गों के लिए एक ही रिज़ॉल्यूवर का उपयोग करें
project/:id/overview
project/:id/documents
project/:id/logs
- आदि
project
रिटर्न के लिए एपीआई के सबसे एक कॉल में डेटा, इसलिए मुझे इसे एक बार कॉल करने की आवश्यकता है, और इसे विभिन्न बाल मार्गों के लिए उपलब्ध कराएं।
मेरे मार्गों लगता है:
export const routing: ModuleWithProviders = RouterModule.forChild([
{ path: 'projects', component: ProjectsComponent },
{ path: 'project/new', component: NewProjectComponent },
{
path: 'project/:id',
component: ProjectDetailComponent,
resolve: {
project: ProjectDetailResolve
},
children: [
{ path: '', redirectTo: 'overview', pathMatch: 'full' },
{ path: 'overview', component: ProjectOverviewComponent },
{ path: 'documents', component: DocumentsComponent },
{ path: 'logs', component: LogsComponent },
]
}
]);
ProjectDetailComponent
वर्तमान में उपयोग करके रिज़ॉल्वर (कोई समस्या नहीं देखते) के साथ सफलतापूर्वक परियोजना डेटा हो जाता है,:
ngOnInit() {
this.route.data.forEach((data: { project: any }) => {
this.project = data.project;
});
}
लेकिन मुझे लगता है कि एक ही परियोजना में उत्तीर्ण होना बाल मार्गों के नीचे, क्योंकि उन मार्गों में से प्रत्येक के लिए एक और एपीआई कॉल ट्रिगर करने का अर्थ नहीं है।
मैंने बाल घटकों में उसी ngOnInit
कोड का उपयोग करने का प्रयास किया है, यह सोचकर कि शायद कोणीय राउटर रूट डेटा भी पास करेगा, लेकिन कोई सफलता नहीं होगी।
कोई विचार कृपया?
धन्यवाद
धन्यवाद, पूरी तरह से काम करता है! – yorch
क्या यह मौजूदा संस्करण में भी संभव है: '' this.route.parent.snapshot.data ['mydata'] '' अगर मुझे सिंक्रोनस एक्सेस चाहिए? – Matt