Angularjs 控制器中的数据过滤
我正在尝试筛选控制器中的数据:Angularjs 控制器中的数据过滤,angularjs,Angularjs,我正在尝试筛选控制器中的数据: MyApp.controller( 'MyCtrl', [ '$scope', '$filter', function( $scope, $filter ) { $scope.elements = // array data; $scope.filterByUserSetting = function( element ) { // return true/false depending on whether filter
MyApp.controller( 'MyCtrl', [ '$scope', '$filter', function( $scope, $filter )
{
$scope.elements = // array data;
$scope.filterByUserSetting = function( element )
{
// return true/false depending on whether filter criterion matches
// this part is fine
}
$scope.elementsFiltered = $filter("filterByUserSetting")($scope.elements);
// this part doesn't work
}]);
我收到的错误消息是:
Error: [$injector:unpr] http://errors.angularjs.org/1.2.12/$injector/unpr?p0=filterByUserSettingFilterProvider%20%3C-NaNilterByUserSettingFilter at Error (native)...
如何修复此问题?您需要定义筛选器提供程序,如
angular.module('MyApp', []).
filter('filterByUserSetting', function() {
return function(input) {
// your return, based on your filter logic
};
});
然后在控制器中使用它
$scope.elementsFiltered = $filter( "filterByUserSetting" )( $scope.elements )
用传统的方法创建你的过滤器,比如
app.filter
,看:刚才回答了另一个问题,过滤器的定义也不正确