Javascript ng表angularjs中的日期范围筛选器
我正在使用angularjs ng表通过django视图显示数据,并尝试在ng表中添加引导日期范围筛选器,但它显示以下错误:- 错误:[$injector:unpr]未知提供程序: dateRangeFilterFilterProvider日期(可选){ 结果推送(项目[i]); } } 返回结果; }; }); NGTableCtrl.$inject=[“$filter”、“$http”、“ngTableParams”、“$resource”、“$timeout”、“ngTableDataService”]; 函数NGTableCtrl($filter、$http、ngTableParams、$resource、$timeout、ngTableDataService){ var vm=这个; vm.title='Controller'; 激活(); 函数激活(){ vm.today=函数(){ vm.dt2=新日期(2015,11,26); vm.dt1=新日期(2015年11月17日); }; vm.today(); vm.toggleMin=函数(){ vm.minDate=vm.minDate?null:新日期(); }; vm.toggleMin(); vm.maxDate=新日期(2020年5月22日); vm.open1=函数($event){ vm.status1.opened=true; }; vm.open2=函数($event){ vm.status2.opened=true; }; vm.setDate=函数(年、月、日){ vm.dt1=新日期(年、月、日); vm.dt2=新日期(年、月、日); }; vm.dateOptions={ 年份:“yy”, 开始日期:1 }; vm.formats=['dd-MMMM-yyyy','yyyy/MM/dd','dd.MM.yyyy','shortDate']; vm.format=vm.formats[0]; vm.status1={ 开放:假 }; vm.status2={ 开放:假 }; var tableData=[]; var比率数据=[]; vm.tableParams5=新的ngTableParams({ 页码:1, 计数:10, 分类:{ 图像_url:'asc', 标题:“asc”, 卖方名称:“asc”, 价格:'asc', 产品评级:“asc”, 供应商评级:“asc” }, 过滤器:{ 图像url:“”, 标题:“”, 卖方名称:'', 价格:'', 产品等级:'', 供应商\u评级:“” } },{ 总计:tableData.length, getData:函数($defer,params){ getData($defer,params); $http.get('/reviews/')。然后(函数(响应){ tableData=response.data.product\u整体数据; console.log(tableData); var filteredData=params.filter()? $filter('filter')(tableData,params.filter()): 表格数据; var orderedData=params.sorting()? $filter('orderBy')(filteredData,params.orderBy()): 过滤数据; 参数总计(orderedData.length); $defer.resolve(orderedData.slice((params.page()-1)*params.count(),params.page()*params.count()); }); } }); htmlJavascript ng表angularjs中的日期范围筛选器,javascript,angularjs,bootstrap-daterangepicker,Javascript,Angularjs,Bootstrap Daterangepicker,我正在使用angularjs ng表通过django视图显示数据,并尝试在ng表中添加引导日期范围筛选器,但它显示以下错误:- 错误:[$injector:unpr]未知提供程序: dateRangeFilterFilterProvider日期(可选){ 结果推送(项目[i]); } } 返回结果; }; }); NGTableCtrl.$inject=[“$filter”、“$http”、“ngTableParams”、“$resource”、“$timeout”、“ngTableDataSe
<div class="panel panel-default">
<h4>From Date</h4>
<p class="input-group">
<input type="text" uib-datepicker-popup="{{table.format}}" ng-model="table.dt1" is-open="table.status1.opened" max-date="'table.maxDate'" datepicker-options="table.dateOptions" date-disabled="table.disabled(date, mode)" ng-required="true"
close-text="Close" class="form-control" />
<span class="input-group-btn">
<button type="button" ng-click="table.open1($event)" class="btn btn-default">
<em class="fa fa-calendar"></em>
</button>
</span>
</p>
<h4>To Date</h4>
<p class="input-group">
<input type="text" uib-datepicker-popup="{{table.format}}" ng-model="table.dt2" is-open="table.status2.opened" max-date="'table.maxDate'" datepicker-options="table.dateOptions" date-disabled="table.disabled(date, mode)" ng-required="true"
close-text="Close" class="form-control" />
<span class="input-group-btn">
<button type="button" ng-click="table.open2($event)" class="btn btn-default">
<em class="fa fa-calendar"></em>
</button>
</span>
</p>
<table ng-table="table.tableParams5" class="table" show-filter="true">
<tbody>
<tr ng-repeat="product_whole_data in $data | dateRangeFilter:dt1:dt2">
<td data-title="'Channel'" filter="{ 'channel_name': 'text' }" sortable="'channel_name'" class="text-center">{{product_whole_data.channel_name}}</td>
<td data-title="'Image'" filter="{ 'image_url': 'text' }" sortable="'image_url'"><div class="media"><img src="{{product_whole_data.image_url}}" alt="Image" class="media-box-object img-responsive img-rounded thumb64"></div></td>
<td data-title="'Product Name'" filter="{ 'title': 'text' }" sortable="'title'" class="text-center">{{product_whole_data.title}}</td>
<td data-title="'Seller Name'" filter="{ 'seller_name': 'text' }" sortable="'seller_name'" class="text-center">{{product_whole_data.seller_name}}</td>
<td data-title="'Price'" filter="{ 'price': 'text' }" sortable="'price'" class="text-center">{{product_whole_data.price}}</td>
<td data-title="'Product Rating'" filter="{ 'product_rating': 'text' }" sortable="'product_rating'" class="text-center">{{product_whole_data.product_rating}}</td>
<td data-title="'Vendor Rating'" filter="{ 'vendor_rating': 'text' }" sortable="'vendor_rating'" class="text-center">{{product_whole_data.vendor_rating}}</td>
</tr>
</tbody>
</table>
</div>
从日期开始
迄今为止
{{产品\整个\数据。通道\名称}
{{product_total_data.title}
{{产品\整体\数据。卖方\名称}
{{产品{整体}数据.价格}
{{产品\整体\数据。产品\评级}
{{产品\整体\数据。供应商\评级}
更新:直接调用date.parse()即可,而不是创建返回解析日期的函数
这是因为您在控制器内部创建了过滤器
var myapp = angular
.module('app.tables')
.controller('NGTableCtrl', NGTableCtrl);
// your filter should be here
myapp.filter("dateRangeFilter", function() {
return function(items, from, to) {
var df = Date.parse(from);
var dt = Date.parse(to);
};
});
NGTableCtrl.$inject = ['$filter', '$http', 'ngTableParams', '$resource', '$timeout', 'ngTableDataService'];
function NGTableCtrl($filter, $http, ngTableParams, $resource, $timeout, ngTableDataService) {
// your existing code
}
为什么
myapp.filter
在函数内部?因为它在函数外部抛出此错误引用错误:parseDate未定义使用Date。直接在过滤器内部解析;而不是该函数好的。让我试试that@User0706我可以通过电子邮件与你联系吗?gmail.com上的anatoliy.ruchka现在给出了这个错误在函数base.js:23068 ReferenceError:parseDate外部添加筛选器不正确defined@User0706不使用parseDate函数,只需调用Date.parse()直接。我更新了我的答案。你也可以从你的控制器中删除parseDate函数,因为它不再有用了。好的。让我尝试一下获取此错误库。js:23068 TypeError:无法读取未定义的属性“length”
var myapp = angular
.module('app.tables')
.controller('NGTableCtrl', NGTableCtrl);
// your filter should be here
myapp.filter("dateRangeFilter", function() {
return function(items, from, to) {
var df = Date.parse(from);
var dt = Date.parse(to);
};
});
NGTableCtrl.$inject = ['$filter', '$http', 'ngTableParams', '$resource', '$timeout', 'ngTableDataService'];
function NGTableCtrl($filter, $http, ngTableParams, $resource, $timeout, ngTableDataService) {
// your existing code
}