2013-11-02 3 views
16

क्या मेरे निर्देश में templateUrl पास करने का कोई तरीका है। मैं समझता हूं कि मैं ट्रांसक्यूलेशन का उपयोग कर सकता हूं, लेकिन यह बहुत अधिक लगता है। उदाहरण के लिए, मेरे पास widget निर्देश है कि मैं विशिष्ट HTML से भरना चाहता हूं।क्या मैं टेम्पलेट यूआरएल को निर्देश में पास कर सकता हूं - AngularJS

<div widget templateUrl="template1.html"></div> 
<div widget templateUrl="template2.html"></div> 

उत्तर

33

इस एक निश्चित यूआरएल आप एक निर्देश जैसे

app.directive('myDirective', function() { 
    return { 
     templateUrl: function(tElement, tAttrs) { 
      return tAttrs.templateUrl; 
     } 
    }; 
}); 

परिभाषित कर सकते हैं तो यह

<div my-directive template-url="template1.html"></div> 

अन्यथा की तरह उपयोग है: वहाँ की तरह में इसे पारित करने के लिए एक रास्ता है आप यूआरएल पास कर सकते हैं क्योंकि आप निर्देश में किसी भी अन्य विशेषता को पास करेंगे और अपने निर्देश के टेम्पलेट में ng-include का उपयोग करेंगे।

+2

आप कोणीय 1.0.8 में 'टेम्पलेट यूआरएल' के रूप में फ़ंक्शन का उपयोग नहीं कर सकते हैं, इसलिए कम से कम कोणीय 1.1.4 का उपयोग करना सुनिश्चित करें। – lort

+1

अच्छा बिंदु। यह थोड़ी देर के बाद से मैंने स्थिर शाखा का उपयोग किया है! 'ng-include' अभी भी किसी भी तरह से काम करना चाहिए। – Andyrooger

+0

1.4.x – beauXjames

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