Tôi có một tình huống sau đây (một bộ lọc dịch trong một dịch vụ, sử dụng trong các tập tin HTML)AngularJS programatically gọi bộ lọc từ dịch vụ (sắp xếp theo bộ lọc tùy chỉnh)
// 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>
(Các ở trên mã hoạt động, nhưng có lẽ một số phần quan trọng đã bị bỏ qua do thiếu kinh nghiệm của tôi)
Vấn đề của tôi là tôi phải sắp xếp dựa trên các giá trị đã dịch (chẳng hạn như string in strings | orderBy: mySearch
) và tôi có thể ' t tìm cách gọi bộ lọc theo chương trình từ StringsController.mySearch
P.S. bộ lọc không được trả lại từ dịch vụ (không biết nếu điều này là có liên quan)
bạn cần tiêm _ $ filter_ và sử dụng nó như '$ filter ('translation') (params)' – Grundy
@Grundy, bạn có thể cho tôi một liên kết newbie không? Tôi chỉ sử dụng angularjs rất cơ bản và dịch vụ thậm chí không phải là mã của tôi. Tôi thậm chí không biết tôi có nên tiêm nó vào bộ điều khiển hay dịch vụ không? – norb
cũng thấy [guid for filters] (https://docs.angularjs.org/guide/filter) – Grundy