मेरा प्रश्न के जटिल घोंसले से निपटने के बारे में जाने के लिए कैसे शामिल टेम्पलेट्स (भी बुलाया partials एक AngularJS आवेदन में)।
मेरी स्थिति का वर्णन करने का सबसे अच्छा तरीका एक छवि है जिसे मैंने बनाया है:
जैसा कि आप देख सकते हैं यह बहुत सारे नेस्टेड मॉडल के साथ एक काफी जटिल अनुप्रयोग होने की क्षमता है।
एप्लिकेशन एकल-पृष्ठ है, इसलिए यह एक इंडेक्स। Html को लोड करता है जिसमें ng-view
विशेषता के साथ DOM में एक div एलिमेंट होता है ।
सर्कल 1 के लिए , आप देखते हैं कि एक प्राथमिक नेविगेशन है जो उपयुक्त टेम्प्लेट को लोड करता है ng-view
। मैं $routeParams
मुख्य ऐप मॉड्यूल को पास करके ऐसा कर रहा हूं । यहाँ एक उदाहरण है कि मेरे ऐप में क्या है:
angular.module('myApp', []).
config(['$routeProvider', function($routeProvider) {
$routeProvider.
when("/job/:jobId/zones/:zoneId", { controller: JobDetailController, templateUrl: 'assets/job_list_app/templates/zone_edit.html' }).
when("/job/:jobId/initial_inspection", { controller: JobDetailController, templateUrl: 'assets/job_list_app/templates/initial_inspection.html' }).
when("/job/:jobId/zones/:zoneId/rooms/:roomId", { controller: JobDetailController, templateUrl: 'assets/job_list_app/templates/room_edit.html' })
}]);
सर्कल 2 में , जो टेम्पलेट लोड किया गया ng-view
है , उसमें एक अतिरिक्त उप-नेविगेशन है । इस उप-नौसेना को तब इसके नीचे के क्षेत्र में टेम्प्लेट लोड करने की आवश्यकता होती है - लेकिन चूंकि एनजी-व्यू का उपयोग पहले से ही किया जा रहा है, मुझे यकीन नहीं है कि यह कैसे करना है।
मुझे पता है कि मैं 1 टेम्प्लेट के भीतर अतिरिक्त टेम्प्लेट शामिल कर सकता हूं, लेकिन ये सभी टेम्प्लेट बहुत जटिल होने वाले हैं। मैं आवेदन को अद्यतन करने के लिए आसान बनाने के लिए सभी माता-पिता को अलग रखना चाहूंगा और माता-पिता के टेम्पलेट पर निर्भरता नहीं रखूंगा ताकि अपने बच्चों तक पहुंचने के लिए लोड किया जा सके।
सर्कल 3 में , आप देख सकते हैं कि चीजें और भी जटिल हो सकती हैं। ऐसी संभावना है कि उप-नेविगेशन टेम्प्लेट में एक दूसरा उप-नेविगेशन होगा जिसे अपने स्वयं के टेम्प्लेट को लोड करने की आवश्यकता होगी और साथ ही 4 के क्षेत्र में
सभी को एक दूसरे से अलग रखते हुए टेम्प्लेट के ऐसे जटिल घोंसले से निपटने के लिए एक AngularJS ऐप को कैसे तैयार किया जाता है?