Bên trong bộ điều khiển của mình, tôi muốn lọc một mảng các đối tượng. Mỗi đối tượng này là một bản đồ có thể chứa chuỗi cũng như danh sáchAngularJS chức năng lọc tùy chỉnh
Tôi đã thử sử dụng định dạng $filter('filter')(array, function)
nhưng tôi không biết cách truy cập các phần tử riêng lẻ của mảng bên trong chức năng của mình. Đây là một đoạn trích để thể hiện những gì tôi muốn.
$filter('filter')(array, function() {
return criteriaMatch(item, criteria);
});
Và sau đó trong criteriaMatch()
, tôi sẽ kiểm tra nếu mỗi người trong số tài sản cá nhân phù hợp với
var criteriaMatch = function(item, criteria) {
// go thro each individual property in the item and criteria
// and check if they are equal
}
tôi phải làm tất cả những trong bộ điều khiển và biên soạn một danh sách liệt kê và đặt chúng trong phạm vi. Vì vậy, tôi chỉ cần truy cập $filter('filter')
theo cách này. Tất cả các ví dụ tôi tìm thấy trong mạng cho đến nay có các tiêu chí tĩnh tìm kiếm bên trong hàm, chúng không vượt qua một đối tượng tiêu chí và kiểm tra đối với mỗi mục trong mảng.
Tại sao bạn cần bộ lọc? Thông thường các bộ lọc được sử dụng từ các mẫu. Bạn có thể không chỉ có một chức năng đơn giản trong bộ điều khiển của bạn nếu bạn chỉ sử dụng nó từ đó? – Ketan
thay vì tự chuyển qua từng phần tử của mảng, tôi nghĩ chúng tôi có thể sử dụng chức năng $ filter ('filter') của góc (sẽ xử lý việc lặp lại từng phần tử nếu chúng ta chỉ định hàm vị ngữ) – user2368436