2015-06-02 8 views
7

मैं एक निम्न स्थिति (एक अनुवाद एक सेवा में HTML फ़ाइल में उपयोग किए गए फ़िल्टर,)AngularJS प्रोग्राम के सेवा से फिल्टर (कस्टम फिल्टर द्वारा तरह) फोन

// serviceFile 
 
angular.module('myModule') 
 
    .service('translation') 
 
    .filter('translate', function(translation) { 
 
    // translate stuff 
 
    return 'translatedString'; 
 
    }); 
 

 
// controllerFile 
 
angular.module('myModule') 
 
    .controller('StringsController', function(blabla, translation) { 
 
    $scope.mySort = function() { 
 
     return "some magic should happen here"; 
 
    }; 
 
    }); 
 

 
// htmlFile 
 
<tr ng-repeat="string in strings"> 
 
    <td> 
 
     {{ string | translate: 'name' }} 
 
    </td> 
 
</tr>

है (उपरोक्त कोड काम करता है, लेकिन संभवतः अनुभव की कमी के कारण कुछ महत्वपूर्ण हिस्सों को छोड़ दिया गया था)

मेरा मुद्दा यह है कि मुझे अनुवादित मानों (string in strings | orderBy: mySearch जैसे कुछ) के आधार पर क्रमबद्ध करने का अनुरोध किया गया है और मैं ' टी StringsController.mySearch

पीएस से प्रोग्राम को फ़िल्टर करने के तरीके को कैसे ढूंढें। फिल्टर सेवा से लौटे नहीं है (यदि यह प्रासंगिक है पता नहीं है)

+0

उपयोग कर सकते हैं आप _ $ filter_ को इंजेक्ट करने की आवश्यकता है और इसे '$ फ़िल्टर (' अनुवाद ') (पैराम्स)' – Grundy

+0

@Grundy जैसे उपयोग करें, क्या आप मुझे एक नौसिखिया लिंक दे सकते हैं? मैंने केवल बहुत ही बुनियादी कोणीय का उपयोग किया और सेवा भी मेरा कोड नहीं है। मुझे यह भी नहीं पता कि मुझे इसे नियंत्रक या सेवा में इंजेक्ट करना चाहिए या नहीं? – norb

+0

भी देखें [फ़िल्टर के लिए guid] (https://docs.angularjs.org/guide/filter) – Grundy

उत्तर

3

आप देख सकते हैं guide for filters

तो अपने मामले में defininition .filter('translate', से निर्भर करता है कि आप इसे की तरह

.controller('StringsController', function(blabla, $filter) { 
    //simple transtale 
    var translatedString = $filter('translate')(stringForTranslate); 

    //ordering 
    var ordered = $filter('orderBy')(arrayForOrdering,function(el){ return $filter('translate')(el); }) 

}); 
+0

मैंने $ scope.mySearch = function (string) {$ $ वापसी ('अनुवाद') (स्ट्रिंग) जोड़ा है ; } नियंत्रक के लिए, और शुरुआत में $ fitler भी ... मेरी एकमात्र समस्या शेष है 'नाम' कैसे प्राप्त करें ... बीटीडब्ल्यू अब तक मदद के लिए धन्यवाद .. – norb

+0

क्या आप एक जटिल नमूना प्रदान कर सकते हैं? संभवतः [jsfiddle] (http://jsfiddle.net/) या [plunker] (http://plnkr.co/edit/) के साथ, यहां एक मूल विधि दिखाती है, आप अपने नियंत्रक – Grundy

+0

में फ़िल्टर और ऑर्डर कैसे कर सकते हैं jsfiddle मुझे समाधान मिला ... $ फ़िल्टर ('अनुवाद') (स्ट्रिंगफोरट्रांसलेट, 'नाम') में संशोधित करना पड़ा; सभी मदद – norb

संबंधित मुद्दे