angularJS 全局过滤模块
angularJS global filter module
我在使用自定义过滤器时遇到问题。
我有一个全局过滤器模块:
angular.module('globalFilters', []).filter('dateRange', function () {
return function(item) {
console.log(item);
return true;
}
});
这是在创建时注入到我的应用程序中的。
我正在尝试将其应用于 ng-repeat:
tr.pointer(ng-repeat="asset in completed | dateRange", ng-animate="'animate'", ng-click="selectAsset(asset);")
td {{asset.Name}}
但是,添加此过滤器会过滤掉 table 中的所有 assets
。为了找出问题所在,我返回 true 以显示所有功能 assets
但它不起作用。
将 item
记录到控制台后,结果似乎是所有 assets
的数组,所以我猜有些地方不对。
我正在学习本教程https://docs.angularjs.org/tutorial/step_09
谢谢!
当您定义自定义过滤器函数时,传入过滤器的值将替换为来自过滤器的 return 值,因此您将 item
替换为 true
。
对于记录输入而不更改输入的过滤器,只需 return 输入:
return function(item) {
console.log(item);
return item;
}
您正在过滤一个数组...所以您的过滤函数需要return一个数组。
.filter('dateRange', function () {
return function(itemArray) {
if(!itemArray){
return null
}else{
return itemArray.filter(function(item){
// conditions of filter
});
}
}
});
我在使用自定义过滤器时遇到问题。
我有一个全局过滤器模块:
angular.module('globalFilters', []).filter('dateRange', function () {
return function(item) {
console.log(item);
return true;
}
});
这是在创建时注入到我的应用程序中的。 我正在尝试将其应用于 ng-repeat:
tr.pointer(ng-repeat="asset in completed | dateRange", ng-animate="'animate'", ng-click="selectAsset(asset);")
td {{asset.Name}}
但是,添加此过滤器会过滤掉 table 中的所有 assets
。为了找出问题所在,我返回 true 以显示所有功能 assets
但它不起作用。
将 item
记录到控制台后,结果似乎是所有 assets
的数组,所以我猜有些地方不对。
我正在学习本教程https://docs.angularjs.org/tutorial/step_09
谢谢!
当您定义自定义过滤器函数时,传入过滤器的值将替换为来自过滤器的 return 值,因此您将 item
替换为 true
。
对于记录输入而不更改输入的过滤器,只需 return 输入:
return function(item) {
console.log(item);
return item;
}
您正在过滤一个数组...所以您的过滤函数需要return一个数组。
.filter('dateRange', function () {
return function(itemArray) {
if(!itemArray){
return null
}else{
return itemArray.filter(function(item){
// conditions of filter
});
}
}
});