TypeError: Cannot read property 'concat' of undefined when performing delete operation
TypeError: Cannot read property 'concat' of undefined when performing delete operation
我已经了解了 Whosebug 中可用的其他解决方案,但它对 me.So 不起作用,请有人建议我在我的情况下该怎么做。
在我的情况下,当我执行删除操作时它在控制台上给出错误,但请记住它没有反映删除操作,它的工作 fine.I 只是想删除或解决这个错误。
这是我的控制台错误:
TypeError: Cannot read property 'concat' of undefined
at ChildScope.$scope.deleteJob (uploadController.js:454)
at $parseFunctionCall (angular.js:12474)
这是我在第 1 行的代码。 454:
//delete JD
$scope.deleteJob = function (fileName) {
$scope.loadingJobs = true;
_deleteFile(fileName, AppConstants.docType.JOBDESCRIPTION);
//line no.454
if ((jdService.getjdFileName() === fileName) || ((jdService.getjdFileName().concat(".xml") === fileName))) { //line no.454
$scope.isjdDeleted = false;
jdService.setisSelected(false);
}
};
这是我从 UI 获取 jdName 的方法:
jdService.setjdFileName(fileName);
这是我的服务,我在其中定义了我的 jdFileName 方法:
var jdService = [
function() {
var jdFileName;
return {
getjdFileName: function () {
return jdFileName;
},
setjdFileName: function(value) {
jdFileName = value;
},
请建议我该怎么做,谢谢
如果将 if
中的表达式更改为:
if ((jdService.getjdFileName() === fileName) || (((jdService.getjdFileName() || '' ).concat(".xml") === fileName)))
那么这部分 (jdService.getjdFileName() || '' )
将计算为 jdService.getjdFileName()
返回的值,或者,如果该值是假的,则计算为空字符串 ('')。这样你就可以确保 concat() 将始终在字符串上被调用。
我已经了解了 Whosebug 中可用的其他解决方案,但它对 me.So 不起作用,请有人建议我在我的情况下该怎么做。 在我的情况下,当我执行删除操作时它在控制台上给出错误,但请记住它没有反映删除操作,它的工作 fine.I 只是想删除或解决这个错误。
这是我的控制台错误:
TypeError: Cannot read property 'concat' of undefined
at ChildScope.$scope.deleteJob (uploadController.js:454)
at $parseFunctionCall (angular.js:12474)
这是我在第 1 行的代码。 454:
//delete JD
$scope.deleteJob = function (fileName) {
$scope.loadingJobs = true;
_deleteFile(fileName, AppConstants.docType.JOBDESCRIPTION);
//line no.454
if ((jdService.getjdFileName() === fileName) || ((jdService.getjdFileName().concat(".xml") === fileName))) { //line no.454
$scope.isjdDeleted = false;
jdService.setisSelected(false);
}
};
这是我从 UI 获取 jdName 的方法:
jdService.setjdFileName(fileName);
这是我的服务,我在其中定义了我的 jdFileName 方法:
var jdService = [
function() {
var jdFileName;
return {
getjdFileName: function () {
return jdFileName;
},
setjdFileName: function(value) {
jdFileName = value;
},
请建议我该怎么做,谢谢
如果将 if
中的表达式更改为:
if ((jdService.getjdFileName() === fileName) || (((jdService.getjdFileName() || '' ).concat(".xml") === fileName)))
那么这部分 (jdService.getjdFileName() || '' )
将计算为 jdService.getjdFileName()
返回的值,或者,如果该值是假的,则计算为空字符串 ('')。这样你就可以确保 concat() 将始终在字符串上被调用。