क्या मौजूदा "मानक" फ़िल्टर (date
, number
, lowercase
आदि) को विस्तारित करना संभव है? मेरे मामले में मुझे YYYYMMDDhhmms प्रारूप से तारीख का विश्लेषण करने की आवश्यकता है, इसलिए मैं अपना खुद का लिखने के बजाय date
फ़िल्टर को विस्तारित (या ओवरराइड) करना चाहता हूं।कोणीय में मौजूदा फ़िल्टर को विस्तारित या ओवरराइड कैसे करें?
उत्तर
मुझे यकीन नहीं है कि मैं आपके प्रश्न को सही तरीके से समझता हूं, लेकिन यदि आप मौजूदा फ़िल्टर की कार्यक्षमता को विस्तारित करना चाहते हैं तो आप एक नया फ़िल्टर बना सकते हैं जो मौजूदा को सजाने वाला हो। उदाहरण:
myApp.filter('customDate', function($filter) {
var standardDateFilterFn = $filter('date');
return function(dateToFormat) {
return 'prefix ' + standardDateFilterFn(dateToFormat, 'yyyyMMddhhmmss');
};
});
और फिर, अपने टेम्पलेट में:
{{now | customDate}}
ऊपर कहा है, अगर आप बस एक दिया प्रारूप इस मौजूदा तिथि फिल्टर के साथ किया जा सकता है के अनुसार एक तारीख स्वरूपित करना चाहते हैं : http://jsfiddle.net/pkozlowski_opensource/zVdJd/2/
:{{now | date:'yyyyMMddhhmmss'}}
यहाँ काम कर jsFiddle दोनों तकनीकों को दर्शाता हुआ है 210
कृपया ध्यान दें कि यदि प्रारूप निर्दिष्ट नहीं है तो AngularJS मान लेगा कि यह 'मध्यम' प्रारूप है (सटीक प्रारूप लोकेल पर निर्भर करता है)। अधिक के लिए http://docs.angularjs.org/api/ng.filter:date देखें।
अंतिम टिप्पणी: मैं आपके प्रश्न के 'पर्स से' हिस्से के बारे में थोड़ा उलझन में हूं। बात यह है कि फ़िल्टर का उपयोग ऑब्जेक्ट (इस मामले में दिनांक) को स्ट्रिंग करने के लिए और उपाध्यक्ष नहीं करने के लिए किया जाता है। यदि आप तिथियों का प्रतिनिधित्व करने वाले तारों (इनपुट से) को पार्स करने के बाद हैं तो आपको NgModelController # $ पार्सर्स में देखना होगा (http://docs.angularjs.org/guide/forms में "कस्टम सत्यापन" भाग देखें)।
मैं decorator pattern लागू करने के लिए पसंद करते हैं, और वास्तव में में कोणीय बहुत आसान है ..
तो, अगर हम ले @ pkozlowski.opensource उदाहरण के लिए, आप ऐसा ही कुछ कर सकते हैं:
myApp.config(['$provide', function($provide) {
$provide.decorator('dateFilter', ['$delegate', function($delegate) {
var srcFilter = $delegate;
var extendsFilter = function() {
var res = srcFilter.apply(this, arguments);
return arguments[2] ? res + arguments[2] : res;
}
return extendsFilter;
}])
}])
और फिर अपने विचारों में, आप मानक आउटपुट और विस्तारित व्यवहार दोनों का उपयोग कर सकते हैं। http://jsfiddle.net/ar8m/9dg0hLho/
यह बिल्कुल 100% बिल्कुल है जो मुझे चाहिए था। अगर मैं कर सकता तो मैं आपको तीन बार वोट दूंगा। –
यह सही उत्तर है। लेकिन याद रखें कि आपको उन्हें प्राप्त करने के लिए फ़िल्टर के लिए '' '' '' '' '' '' '' '' फ़िल्टर करना होगा। एक ही नाम के साथ एक फ़िल्टर को दोबारा बनाना मेरे द्वारा भी ठीक है, क्योंकि वे आमतौर पर (हमेशा?) एक समारोह होते हैं, आप किसी भी तरह से बदलने जा रहे हैं। –
महान दृष्टिकोण। q: 'srcFilter.apply (...) 'का पहला पैरा' यह 'है, हालांकि मैंने अन्य उदाहरणों को देखा कि पहला पैराम' शून्य 'है। इसका उद्देश्य क्या है? –
- 1. कोणीय फ़िल्टर जो एचटीएमएल
- 2. PHP - मौजूदा फ़ंक्शन को ओवरराइड करें
- 3. एंड्रॉइड के ऐरेएडाप्टर में फ़िल्टर को ओवरराइड कैसे करें?
- 4. मौजूदा एक्सटेंशन विधि को ओवरराइड करने के लिए कैसे करें
- 5. Django - मॉडल पर फ़िल्टर को ओवरराइड कैसे करें?
- 6. कोणीय?
- 7. वैश्विक कार्रवाई फ़िल्टर को ओवरराइड करना
- 8. ग्लासफ़िश में j_security_check को ओवरराइड कैसे करें?
- 9. सेटिंग्स मेनू को ओवरराइड या अक्षम करें
- 10. एक सी ++ वेक्टर फ़िल्टर या "grep" कैसे फ़िल्टर करें?
- 11. ऑब्जेक्टऑटपुटस्ट्रीम.writeStreamHeader() को ओवरराइड कैसे करें?
- 12. कोणीय नियंत्रक या दायरे पर angular.toJson का उपयोग कैसे करें
- 13. PHP में register_argc_argv को ओवरराइड कैसे करें?
- 14. रूबी में [] ब्रैकेट को ओवरराइड कैसे करें?
- 15. ListFragment में LongPress को ओवरराइड कैसे करें?
- 16. Backbone.sync को ओवरराइड कैसे करें?
- 17. [] ऑपरेटर को ओवरराइड कैसे करें?
- 18. उप-वर्ग से आंतरिक कक्षा को ओवरराइड/विस्तार कैसे करें?
- 19. ब्राउज़र में कोणीय सेवाओं को डीबग कैसे करें
- 20. कोडइग्निटर में एक सहायक कैसे विस्तारित करें?
- 21. मैगेंटो कोर जावास्क्रिप्ट फाइलों को ओवरराइड/विस्तारित करना
- 22. कोणीय: कैसे इस सरल कोणीय मॉड्यूल को देखते हुए नियंत्रक
- 23. कोणीय
- 24. कोणीय
- 25. कोणीय
- 26. जावास्क्रिप्ट - ओवरराइड या निष्पादन
- 27. बैकबोन: एक विस्तारित दृश्य के ओवरराइड रेंडर() फ़ंक्शन
- 28. कोणीय
- 29. System.out.print() के आउटपुट को ओवरराइड (ओओपी ओवरराइड नहीं) कैसे करें?
- 30. कोणीय जेएस -
प्रलेखन तारीख फिल्टर के अनुसार आईएसओ 8601 से स्वरूपित स्ट्रिंग के रूप में दिनांक को स्वीकार कर सकते हैं:
ही फिल्टर
यहाँ के साथ काम करने jsFiddle दोनों तकनीकों को दर्शाता हुआ है। मेरे मामले में इनपुट प्रारूप 'yyyyMMddHHmmss' है इसलिए मानक फ़िल्टर 'दिनांक' इसे पार्स नहीं कर सकता है। – coxx