Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ng表angularjs中的日期范围筛选器_Javascript_Angularjs_Bootstrap Daterangepicker - Fatal编程技术网

Javascript ng表angularjs中的日期范围筛选器

Javascript 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

我正在使用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()); }); } }); html

<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
    }