दिलचस्प पोस्ट
.NET का उपयोग करते हुए एक निर्देशिका में सबसे हाल की फ़ाइल को कैसे ढूंढें, और बिना पाशन? सूची में डेटा की अधिकतम सीमा क्या है <string> c # में? Android TabWidget पता वर्तमान टैब पर क्लिक करें आप फ़ंक्शन के बजाय एक्सपेन <Func <T >> का उपयोग क्यों करेंगे? <> सूची में पिछले मूल्यों को ओवरराइट करने के लिए <> सूची में एक नया मान क्यों जोड़ता है <> क्लाइंट साइड पर एचटीएमएल को सैनिटेज़ / रिइरेट करें सी ++ में टेल रिकर्सन गैर स्थैतिक फ़ंक्शन के साथ सी ++ ओवरलोड स्टेटिक फ़ंक्शन आधुनिक हार्डवेयर पर फ़्लोटिंग पॉइंट बनाम पूर्णांक गणना डिबग बिल्ड की तुलना में रिलीज़ बिल्ड अलग तरीके से चलने के कुछ कारण क्या हैं अजगर शब्दकोश दृश्य ऑब्जेक्ट क्या हैं? क्या मैं किसी सी # स्ट्रिंग मान को एक पलायन स्ट्रिंग में परिवर्तित कर सकता हूँ डेलाइट सेविंग टाइम को ध्यान में रखते हुए दोहराए जाने वाले तारीखों को कैसे स्टोर करें मैं पायथन में SIGINT कैसे कैद कर सकता हूं? सबवर्सन हुक के सामान्य प्रकार

कोणीय फ़िल्टरों के लिए बहस पास करना

क्या फिल्टर फ़ंक्शन पर एक तर्क पारित करना संभव है, ताकि आप किसी भी नाम से फ़िल्टर कर सकें?

कुछ इस तरह

$scope.weDontLike = function(item, name) { console.log(arguments); return item.name != name; }; 

वेब के समाधान से एकत्रित समाधान "कोणीय फ़िल्टरों के लिए बहस पास करना"

असल में दूसरा (शायद बेहतर समाधान) है जहां आप कोणीय के मूल 'फिल्टर' फ़िल्टर का उपयोग कर सकते हैं और अभी भी अपने कस्टम फ़िल्टर में तर्कों को पार कर सकते हैं

निम्नलिखित कोड पर विचार करें:

 <div ng-repeat="group in groups"> <li ng-repeat="friend in friends | filter:weDontLike(group.enemy.name)"> <span>{{friend.name}}</span> <li> </div> 

यह काम करने के लिए आप अपने फ़िल्टर को निम्न के रूप में परिभाषित करते हैं:

 $scope.weDontLike = function(name) { return function(friend) { return friend.name != name; } } 

जैसा कि आप यहां देख सकते हैं, हम वास्तव में एक अन्य फ़ंक्शन देते हैं, जिसमें आपके पैरामीटर के साथ-साथ फिल्टर से आने वाले मूल आइटम भी हैं।

मुझे यह समझने में 2 दिन लग गए कि आप ऐसा कर सकते हैं, इस समाधान को कहीं भी नहीं देखा है।

चेक को किसी कोणीय.जेएस फ़िल्टर की रिवर्स रिवर्स देखने के लिए कि आप इसे फिल्टर के साथ अन्य उपयोगी कार्यों के लिए कैसे उपयोग कर सकते हैं।

जो मैं समझता हूं, आप फ़िल्टर फ़ंक्शन (जब 'फ़िल्टर' फ़िल्टर का उपयोग करते हुए) के लिए एक तर्क पारित नहीं कर सकते आपको एक कस्टम फ़िल्टर लिखना है जो कि ऐसा करना है:

 .filter('weDontLike', function(){ return function(items, name){ var arrayToReturn = []; for (var i=0; i<items.length; i++){ if (items[i].name != name) { arrayToReturn.push(items[i]); } } return arrayToReturn; }; 

यहां काम कर रहा है jsFiddle: http://jsfiddle.net/pkozlowski_opensource/myr4a/1/

कस्टम फिल्टर को लिखने के बिना अन्य सरल विकल्प, किसी दायरे में फ़िल्टर करने के लिए नाम संचित करना है और फिर लिखना:

 $scope.weDontLike = function(item) { return item.name != $scope.name; }; 

असल में आप एक पैरामीटर ( http://docs.angularjs.org/api/ng.filter:filter ) पास कर सकते हैं और इसके लिए कस्टम फ़ंक्शन की आवश्यकता नहीं है। यदि आप अपने एचटीएमएल को नीचे लिखे हैं तो यह काम करेगा:

 <div ng:app> <div ng-controller="HelloCntl"> <ul> <li ng-repeat="friend in friends | filter:{name:'!Adam'}"> <span>{{friend.name}}</span> <span>{{friend.phone}}</span> </li> </ul> </div> </div> 

http://jsfiddle.net/ZfGx4/59/

आप इस तरह टेम्पलेट में ऐसा कर सकते हैं

 <span ng-cloak>{{amount |firstFiler:'firstArgument':'secondArgument' }}</span> 

फ़िल्टर में

 angular.module("app") .filter("firstFiler",function(){ console.log("filter loads"); return function(items, firstArgument,secondArgument){ console.log("item is ",items); // it is value upon which you have to filter console.log("firstArgument is ",firstArgument); console.log("secondArgument ",secondArgument); return "hello"; } }); 

Pkozlowski.opensource के उत्तर पर विस्तार और जावास्क्रिप्ट array's अंतर्निर्मित फिल्टर विधि array's उपयोग करके एक सुस्पष्ट समाधान यह हो सकता है:

 .filter('weDontLike', function(){ return function(items, name){ return items.filter(function(item) { return item.name != name; }); }; }); 

यहां जेएसएफडियल लिंक है

यहाँ ऐरे फ़िल्टर पर अधिक।

आप कोणीय फिल्टर के लिए कई तर्क पारित कर सकते हैं!

मेरे कोणीय ऐप और और एक ऐप स्तरीय चर परिभाषित करना –

 var app = angular.module('filterApp',[]); app.value('test_obj', {'TEST' : 'test be check se'}); 

आपका फ़िल्टर निम्न होगा: –

 app.filter('testFilter', [ 'test_obj', function(test_obj) { function test_filter_function(key, dynamic_data) { if(dynamic_data){ var temp = test_obj[key]; for(var property in dynamic_data){ temp = temp.replace(property, dynamic_data[property]); } return temp; } else{ return test_obj[key] || key; } } test_filter_function.$stateful = true; return test_filter_function; }]); 

और एचटीएमएल से आप इस तरह से डेटा भेजेंगे: –

 <span ng-bind="'TEST' | testFilter: { 'be': val, 'se': value2 }"></span> 

यहां मैं फ़िल्टर में एक JSON ऑब्जेक्ट भेज रहा हूं। आप स्ट्रिंग या नंबर जैसे किसी भी तरह के डेटा भी भेज सकते हैं।

आप फ़िल्टर करने के लिए तर्कों की गतिशील संख्या भी पारित कर सकते हैं, उस स्थिति में आपको उन तर्कों को प्राप्त करने के लिए तर्क का उपयोग करना होगा।

काम करने वाले डेमो के लिए यहां जाएं – एंगलियल फिल्टर के लिए कई तर्कों को पारित करना