दिलचस्प पोस्ट
एंड्रॉइड – एक अधिसूचना बनाएं, टास्कस्टैकिबलर। एडपरचर स्टैक काम नहीं कर रहा है यह निर्धारित कैसे करें कि नेटवर्क प्रकार 2 जी, 3 जी या 4 जी है Wget का उपयोग करके वेबसाइट से सभी फ़ाइलों को (लेकिन HTML नहीं) कैसे डाउनलोड करें? एनएसडीटा टू यूआईमेज इंटरनेट एक्सप्लोरर 9 तालिका कोशिकाओं को ठीक से प्रतिपादित नहीं करता है क्या मैं गैर मौजूदा सीएसएस वर्गों का उपयोग कर सकता हूँ? क्या <img> तत्व ब्लॉक स्तर या इनलाइन स्तर है? वेबस्कॉट क्लाइंट API में HTTP शीर्षलेख बड़े स्थानिक स्तरों पर ए * एल्गोरिथ्म को गति कैसे करें? मुझे एकल 'इंतजार का इंतजार क्यों करना चाहिए। जब ​​सभी' बहु से अधिक इंतजार कर रहे हैं? अलग आइटम लेआउट के साथ ListView के लिए ViewHolders बनाना WAMP SMTP लोकलहोस्ट का उपयोग कर मेल भेजें कस्टम अलर्ट डाइलाॉग व्यू को कैसे कार्यान्वित करें स्पष्ट रूप से एक पायथन सूची या ट्यूपल से आइटम का चयन करें कैसे सी # संकलक COM प्रकारों का पता लगाता है?

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

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

कुछ इस तरह

$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 ऑब्जेक्ट भेज रहा हूं। आप स्ट्रिंग या नंबर जैसे किसी भी तरह के डेटा भी भेज सकते हैं।

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

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