2012-12-05 20 views
11

सर्वर-साइड वेब फ्रेमवर्क उपयोगकर्ता (मैं Django का उपयोग करता हूं) के रूप में, मुझे टेम्पलेट्स व्यवस्थित करने का तरीका पसंद है। बेस टेम्पलेट के पेज शीर्षक, सीएसएस, जेएस, हेडर और पाद लेख को ब्लॉक के रूप में परिभाषित किया गया है और बाल टेम्पलेट्स में ओवरराइड किया जा सकता है।angular.js में templating - विरासत

ऐसा करने के कोणीय तरीके क्या है?

प्रत्येक पृष्ठ की सामग्री निश्चित रूप से एनजी-व्यू द्वारा प्रदान की जाती है, इसके अलावा, मैं ज्यादा कुछ नहीं कर सकता। उदाहरण के लिए शीर्षक टैग दृश्य के बाहर है, और मैं इसे गतिशील रूप से नहीं बदल सकता।

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

उत्तर

6

Django का templating वास्तव में अच्छा है, लेकिन याद रखें कि कोणीय मुख्य रूप से एसपीए (एकल पृष्ठ अनुप्रयोग) बनाने के लिए है, इसलिए यह अवधारणात्मक रूप से अलग है। एक सामान्य कोणीय परियोजना में आपके पास सर्वर-साइड फ्रेमवर्क आधार टेम्पलेट उत्पन्न करेगा, फिर रूटिंग को अन्य सभी चीज़ों के लिए कोणीय को सौंप दिया जाएगा, और सामग्री अनुभागों को सशर्त रूप से मार्गों के आधार पर शामिल किया जाएगा।

डीजेगो और कोणीय टेम्पलेट्स के बीच आपके समानता का एक टुकड़ा एनजी-शामिल निर्देश है, जो आपको पुन: प्रयोज्य एचटीएमएल के बिट्स में चूसने देता है। लेकिन Django के {{block}} या {{block super}} सिस्टम के समान कुछ भी नहीं है।

आप {{block extrahead}} का उपयोग करने के बजाय अतिरिक्त सीएसएस/जावास्क्रिप्ट लाने के लिए एक कस्टम निर्देश लिख सकते हैं।

गतिशील शीर्षक टैग के लिए, आपको यह सुनिश्चित करना होगा कि आपका नियंत्रक तत्व मुख्य तत्व से ऊपर सेट हो, अन्यथा यह दायरे से बाहर होगा और इस प्रकार पहुंच योग्य नहीं होगा। हम आधार टेम्पलेट में इस तरह यह कार्य करें:

<title data-ng-bind="title">Oursite</title> 

और फिर उस URL के लिए नियंत्रक में:

$rootScope.title = 'Dashboard | Oursite'; 

this सूत्र में अन्य सुझाव दिया दृष्टिकोण।

4

angular-blocks पर एक नज़र डालें जो जेड, हैंडलबार और डीजेगो या अधिक सरल ng-layout से प्रेरित है।

+0

मैंने कोणीय-ब्लॉक का उपयोग करने की कोशिश की, एक घंटे के लिए संघर्ष किया लेकिन काम नहीं कर रहा, क्या आप कृपया मेरी मदद कर सकते हैं? –

संबंधित मुद्दे