Angular JS-工作函数中的“错误:[$interpole:interr]Can't interpole:
Angular JS - “Error: [$interpolate:interr] Can't interpolate:” from a working function
我的一个函数中出现以下错误:
Error: [$interpolate:interr] http://errors.angularjs.org/1.3.0-rc.4/$interpolate/interr?p0=%7B%7B%20crea…&p1=TypeError%3A%20Cannot%20read%20property%20'startDate'%20of%20undefined
at Error (native)
at file:///C:/Users/Zuh/Desktop/MSF_Juba_2014/Radio%20Room%20App/angular.min.js:6:421
at z.exp (file:///C:/Users/Zuh/Desktop/MSF_Juba_2014/Radio%20Room%20App/angular.min.js:86:481)
at file:///C:/Users/Zuh/Desktop/MSF_Juba_2014/Radio%20Room%20App/angular.min.js:56:215
at q (file:///C:/Users/Zuh/Desktop/MSF_Juba_2014/Radio%20Room%20App/angular.min.js:7:404)
at C (file:///C:/Users/Zuh/Desktop/MSF_Juba_2014/Radio%20Room%20App/angular.min.js:56:16)
at g (file:///C:/Users/Zuh/Desktop/MSF_Juba_2014/Radio%20Room%20App/angular.min.js:50:19)
at C (file:///C:/Users/Zuh/Desktop/MSF_Juba_2014/Radio%20Room%20App/angular.min.js:57:303)
at g (file:///C:/Users/Zuh/Desktop/MSF_Juba_2014/Radio%20Room%20App/angular.min.js:50:19)
at C (file:///C:/Users/Zuh/Desktop/MSF_Juba_2014/Radio%20Room%20App/angular.min.js:57:303) VM8667 angular.min.js:99
Error: [$interpolate:interr] http://errors.angularjs.org/1.3.0-rc.4/$interpolate/interr?p0=%7B%7B%20crea…&p1=TypeError%3A%20Cannot%20read%20property%20'startDate'%20of%20undefined
at Error (native)
at file:///C:/Users/Zuh/Desktop/MSF_Juba_2014/Radio%20Room%20App/angular.min.js:6:421
at z.exp (file:///C:/Users/Zuh/Desktop/MSF_Juba_2014/Radio%20Room%20App/angular.min.js:86:481)
at pre (file:///C:/Users/Zuh/Desktop/MSF_Juba_2014/Radio%20Room%20App/angular.min.js:66:455)
at U (file:///C:/Users/Zuh/Desktop/MSF_Juba_2014/Radio%20Room%20App/angular.min.js:68:177)
at C (file:///C:/Users/Zuh/Desktop/MSF_Juba_2014/Radio%20Room%20App/angular.min.js:57:169)
at g (file:///C:/Users/Zuh/Desktop/MSF_Juba_2014/Radio%20Room%20App/angular.min.js:50:19)
at C (file:///C:/Users/Zuh/Desktop/MSF_Juba_2014/Radio%20Room%20App/angular.min.js:57:303)
at g (file:///C:/Users/Zuh/Desktop/MSF_Juba_2014/Radio%20Room%20App/angular.min.js:50:19)
at C (file:///C:/Users/Zuh/Desktop/MSF_Juba_2014/Radio%20Room%20App/angular.min.js:57:303) VM8667 angular.min.js:99
3TypeError: Cannot read property 'car' of undefined
at k.$scope.createCsvFilename (file:///C:/Users/Zuh/Desktop/MSF_Juba_2014/Radio%20Room%20App/js/msfcontroller.js:26:31)
at file:///C:/Users/Zuh/Desktop/MSF_Juba_2014/Radio%20Room%20App/angular.min.js:191:296
at Object.<anonymous> (file:///C:/Users/Zuh/Desktop/MSF_Juba_2014/Radio%20Room%20App/angular.min.js:103:395)
at k.$digest (file:///C:/Users/Zuh/Desktop/MSF_Juba_2014/Radio%20Room%20App/angular.min.js:118:410)
at k.$apply (file:///C:/Users/Zuh/Desktop/MSF_Juba_2014/Radio%20Room%20App/angular.min.js:121:460)
at file:///C:/Users/Zuh/Desktop/MSF_Juba_2014/Radio%20Room%20App/angular.min.js:18:101
at Object.e [as invoke] (file:///C:/Users/Zuh/Desktop/MSF_Juba_2014/Radio%20Room%20App/angular.min.js:36:215)
at d (file:///C:/Users/Zuh/Desktop/MSF_Juba_2014/Radio%20Room%20App/angular.min.js:18:22)
at kc (file:///C:/Users/Zuh/Desktop/MSF_Juba_2014/Radio%20Room%20App/angular.min.js:18:316)
at Ad (file:///C:/Users/Zuh/Desktop/MSF_Juba_2014/Radio%20Room%20App/angular.min.js:17:130)
这很奇怪,因为一切都按预期进行。
以下是错误的相关代码(文件名属性导致错误):
<button class="btn btn-success"
type="button"
ng-csv="filteredRecords"
filename="{{ createCsvFilename(dates, search) }}">
Download {{filteredRecords.length}} results as CSV
</button>
以及有问题的功能:
$scope.createCsvFilename = function(dates, search) {
var startMoment = moment(dates.startDate);
var endMoment = moment(dates.endDate);
var filterCar = search.car;
var filterDriver = search.driver;
return startMoment.format('DD-MM-YYYY') + ' - ' + endMoment.format('DD-MM-YYYY') + ' - Car_' + filterCar + ' - Driver_' + filterDriver + '.csv';
}
search.car
和search.driver
是未定义的过滤器输入,直到用户将它们填满为止。
你知道是什么原因导致了这个错误吗?
定义控制器范围中的对象。
$scope.search={"car":"","driver":""}
$scope.dates={"startDate":"","endDate":""}
并将您的方法更改为如下
$scope.createCsvFilename = function() {
var startMoment = moment($scope.dates.startDate);
var endMoment = moment($scope.dates.endDate);
var filterCar = $scope.search.car;
var filterDriver = $scope.search.driver;
return startMoment.format('DD-MM-YYYY') + ' - ' + endMoment.format('DD-MM-YYYY') + ' - Car_' + filterCar + ' - Driver_' + filterDriver + '.csv';
}
此外,在调用方法时删除params
<button class="btn btn-success"
type="button"
ng-csv="filteredRecords"
filename="{{ createCsvFilename() }}">
Download {{filteredRecords.length}} results as CSV
</button>
相关文章:
- 角度ng变化或ng点击选择can'不起作用
- 自定义运行时Can'在谷歌应用引擎中看不到我的自定义日志
- Can用户'MediaWiki上的自定义JavaScript调用Lua模块
- NodeJS错误-Can't在发送标头后设置标头
- Javascript:Can't使用getElementById获取元素
- 错误:Can't在从forEach循环发送标头后设置标头
- Chrome扩展:Can't从chrome.local变量中检索值
- Express 4错误:Can't在发送标头后设置标头
- sqlite查询返回错误-can'我不知道为什么
- 如何从ajax php中获取值(can'tget)
- NodeJS未处理的拒绝错误:Can't在发送标头后设置标头
- Podio问题:Can't将字符串转换为数字
- PHP:Can't填充TinyMCE文本区域
- Can't get setters/getters to work
- Can't get the tail to wag (animate) in three.js?
- 有CSS问题:can't将文本放置在选择框的右侧
- 摩卡+柴+jsdom Can't加载自定义模块目录
- How can I get and replace this in javascript ( jquery?
- bootstrap字体真棒can'不起作用[使用cdn]
- Angular JS-工作函数中的“错误:[$interpole:interr]Can't interpole: