2012-12-06 24 views
32

क्या कोणीय जेएस में किसी अन्य में HTML पृष्ठ एम्बेड करना संभव है?कोणीय जेएस और आंशिक

यदि हां, तो इसे कैसे करें?

Here उनके ट्यूटोरियल में, आंशिक पृष्ठ में एम्बेड नहीं किया गया है, लेकिन यह एक अलग पृष्ठ जैसा है जब आप किसी आइटम पर क्लिक करते हैं। (see demo)

उत्तर

32

हां, आप इसे एनजी निर्देश का उपयोग करके कर सकते हैं। http://docs.angularjs.org/api/ng.directive:ngInclude

+22

यह भयानक है। क्या कोई नया अनुरोध आमंत्रित किए बिना आंशिक शामिल करने का कोई तरीका नहीं है, उदाहरण के लिए, प्रारंभिक HTML पेलोड में पुन: प्रयोज्य खंड के रूप में? – davidgoli

+0

बिल्कुल मुझे क्या चाहिए। जाहिर है, इसे कम से कम इस्तेमाल किया जाना चाहिए, लेकिन यह मेरे लॉगिन फॉर्म का पुनर्व्यवस्थित करने के लिए पूरी तरह से काम किया। – RevNoah

+9

@ डेविडगोली, जहां तक ​​मुझे पता है, कोणीय कैश ने बाद के अनुरोधों से बचने के लिए टेम्पलेट लोड किए हैं। –

6

तो ng-include नहीं है कि तुम क्या जरूरत है, तो आप कोणीय-ui रूटर मॉड्यूल की जाँच करने के लिए चाहते हो सकता है:

डॉक्स और यहाँ उदाहरण देखें। यह आपको नेस्टेड और समांतर विचार करने की अनुमति देता है ... यह बहुत अच्छा, लचीला, उपयोग करने में आसान और अच्छी तरह से प्रलेखित है। https://github.com/angular-ui/ui-router

7

@Wilt सही है, लेकिन यहाँ एक अधिक विशिष्ट लिंक और एक कोड नमूना (https://github.com/angular-ui/ui-router/wiki/Quick-Reference#ui-view से)

है अपने जड़ टेम्पलेट में:

<div ui-view></div> 
<div ui-view="chart"></div> 
<div ui-view="data"></div> 

और अपने app.config समारोह

में
$stateProvider.state("home", { 
    views: { 
     "": { 
      template: "<h1>Some HTML</h1>" 
     }, 
     "chart": { 
      templateUrl: "templates/chart.html" 
     }, 
     "data": { 
      template: "<data_thing/>" 
     } 
    }  
})