के लिए कस्टम इंटरपोलेशन प्रतीकों का उपयोग करते हैं। वर्तमान में मेरे पास अंडरस्कोर.जेएस टेम्पलेट है जो मैं कोणीय के साथ उपयोग करना चाहूंगा और अभी भी अंडरस्कोर के साथ उपयोग करने में सक्षम हूं। मैं सोच रहा था अगर यह संभव है इस तरह एक निर्देश का उपयोग कर एक विशेष क्षेत्र के लिए प्रक्षेप आरंभ और अंत प्रतीकों को बदलने के लिए,:एंगुलरज स्कोप
angular.directive('underscoreTemplate', function ($parse, $compile, $interpolateProvider, $interpolate) {
return {
restrict: "E",
replace: false,
link: function (scope, element, attrs) {
$interpolateProvider.startSymbol("<%=").endSymbol("%>");
var parsedExp = $interpolate(element.html());
// Then replace element contents with interpolated contents
}
}
})
लेकिन इस त्रुटि
Error: Unknown provider: $interpolateProviderProvider <- $interpolateProvider <- underscoreTemplateDirective
$interpolateProvider
के लिए ही उपलब्ध है बाहर थूक मॉड्यूल विन्यास? <%=
से {{
और %>
से }}
को बदलने के लिए स्ट्रिंग प्रतिस्थापन का उपयोग करने का बेहतर समाधान होगा?
इसके अलावा, मैंने देखा है कि element.html()
निकल जाता <%=
में <
और %>
में >
। क्या इस स्वचालित भागने से बचने का कोई तरीका है?
धन्यवाद, यह बहुत अच्छा काम करता है! मैंने सभी मामलों को बदलने के लिए एक छोटा सा परिवर्तन किया ('जी' के साथ रेगेक्स का उपयोग करें): http://jsfiddle.net/e3s5d/ –
ग्रेट कॉल। अद्यतन उत्तर – colllin
अब जब आप '<% -' वाक्यविन्यास को इंगित करते हैं, तो मुझे एहसास हो रहा है कि अंडरस्कोर में डिफ़ॉल्ट '<% =' कोणीय के '
' के समान है। शायद आप '' 'के साथ कच्ची अभिव्यक्ति में '' <% = '' को बदलकर अनचाहे एचटीएमएल को अनुमति देने के लिए इस निर्देश में कुछ तर्क जोड़ सकते हैं। संदर्भ: http://stackoverflow.com/a/10971756/361609 – colllin