/ / angularjs - एक निर्देश - angularjs से जुड़े फिल्टर प्राप्त करें

angularjs - एक निर्देश से जुड़े फिल्टर प्राप्त करें - angularjs

का उपयोग करते हुए angular, मेरे पास एक स्थिति है जहां मैंने एक कस्टम निर्देश लिखा है, और फिर कुछ फिल्टर।

मैंने बहुत खोज की है, और "टी" एक स्पष्ट तरीका खोजने में सक्षम है जो वास्तव में एक बार संलग्न से फिल्टर को बाहर निकालने में सक्षम है। वे इस तरह से संलग्न हैं;

<div ng-data-bind="Model.Tags | format:"json""></div>

निर्देश जैसा दिखता है ...

.directive("ngDataBind", ["$parse", "$filter", function($parse, $filter){
return {
restrict: "A",
scope: {
ngDataBind: "="
},
link: function(scope, element, attributes, controller) {
// I am hoping to get the value of "format" here (which is "json" in this case)
}
}
});

अभी, फिल्टर सिर्फ बेहद नंगे हड्डियां हैं। मैंने इसे अभी तक कोई वास्तविक कार्यक्षमता नहीं दी है, क्योंकि मुझे निर्देशन में बहुत कुछ करना है।

.filter("format", function(){
return function(text, value) {

}
});

तो में ngDataBind निर्देश, कि मैंने लिखा, मैं प्राप्त करना चाहता हूं format फ़िल्टर और पैरामीटर इसके पास गया।

मैंने देखा $filter सेवा और यह ऐसा करने के लिए नहीं लगता है। मैंने इसे बंद करने का प्रयास किया attributes पैरामीटर से गुजरा link निर्देश पर, लेकिन यह सब मुझे देता है एक बहुत बड़ी स्ट्रिंग है जो कि उपयोगी नहीं है।

क्या इस पर कोई जानकारी है, कहीं भी?

मेरे पास इससे कहीं अधिक अनुभव वाले लोगों द्वारा समीक्षा किए जाने के बाद, मैं एक अलग दृष्टिकोण ले रहा हूं, क्योंकि यह स्पष्ट रूप से फिल्टर का उपयुक्त उपयोग नहीं है।

जिस विधि के साथ मैं जा रहा हूं वह निर्देश पर गुण बनाने के लिए है जो कि उदाहरण के लिए, अभिव्यक्ति की तरह नियत हैं।

<div c-data-bind="{ value: "Model.Tags", format: "json" }"></div>

मैं इस पद्धति के साथ गया क्योंकि अपेक्षित इनपुट में एक निश्चित स्थिरता है (हमेशा सामग्री को संलग्न करने की आवश्यकता होती है "" ) के प्रकार के बीच बेमेल के बजाय) और यह बाद में अधिक निर्देशों को जोड़ने के बिना निर्देश का विस्तार करने की अनुमति देता है। मैं अनिश्चित हूँ अगर यह एक अच्छा तरीका है या नहीं, लेकिन ... यह लगता है काम करने के लिए।

उत्तर:

उत्तर № 1 के लिए 1

आपका दृष्टिकोण बंद है। निर्देश को फिल्टर के साथ चिंता नहीं करनी चाहिए।

फ़िल्टर अपने तर्क के अनुसार बाध्य डेटा को संसाधित करेगा।

निर्देश फ़िल्टर किए गए डेटा को प्राप्त करेगा और अपने तर्क के अनुसार उस पर कार्य करेगा।

दोनों में से किसी को भी दूसरे के बारे में जानने की जरूरत नहीं है। यदि आपको उनकी आवश्यकता है, तो आपका डिज़ाइन त्रुटिपूर्ण है।

देख चिंता की जुदाई