Tôi đang cố gắng sử dụng các bộ lọc trong chỉ thị AngularJS nhưng không chắc chắn chính xác cách thực hiện. Từ một số thông tin trên danh sách gửi thư, có vẻ như bạn sẽ có thể tiêm $ filter và sử dụng nó, nhưng tôi không chắc chắn làm thế nào/ở đâu để gọi nó.Sử dụng bộ lọc với các chỉ thị trong AngularJS
chỉ thị của tôi hiện trông như thế này:
myApp.directive('fancyDisplay', ['$filter', function($filter) {
return {
scope: {
'fancyDisplay': '='
},
template: "<div ng-repeat='datum in fancyDisplay | filter:tagFilter'>{{datum.name}}</div>"
};
}]);
Mặc dù filter:tagFilter
không được làm việc. Tôi nên lọc dữ liệu của mình theo chỉ thị như thế nào?
JSfiddle có sẵn tại http://jsfiddle.net/VDLqa/4/ Cảm ơn trước vì bất kỳ phản hồi nào.
Hmm ... làm cách nào để mở rộng cho nhiều bộ lọc? – jgm
Xác định thêm attrs: '
' và trên chỉ thị 'phạm vi: {fancyDisplay: '=', filter1: '=', filter2: '='}'. Lưu ý: Tôi đã gọi họ là 'filter1' và 'filter2' nhưng bạn có thể gọi cho họ bất cứ điều gì bạn muốn. Ngoài ra, nếu bạn bắt đầu có nhiều bộ lọc, tôi khuyên bạn nên lọc trước dữ liệu 'ng-model' trước khi gửi cho chỉ thị. – bmleiteTính năng lọc trước thật thú vị vì đó là nơi tôi bắt đầu. Tôi đã thử điều này trên chỉ thị nhưng nó không hoạt động; làm thế nào tôi sẽ thay đổi fiddle để đạt được điều này? – jgm