我已经通过了stackoverflow中提供的其他解决方案,但它对我没有用。所以请有人建议我在我的情况下做什么。 在我的情况下,当我执行删除操作时它在控制台上给出错误,bt记得它没有反映删除操作,它工作正常。我只是想删除或解决这个错误。
这是我的控制台错误:
TypeError: Cannot read property 'concat' of undefined
at ChildScope.$scope.deleteJob (uploadController.js:454)
at $parseFunctionCall (angular.js:12474)
这是我在第一行的代码。 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;
},
请建议我该怎么做,谢谢
答案 0 :(得分:0)
如果您将if
中的表达式更改为:
if ((jdService.getjdFileName() === fileName) || (((jdService.getjdFileName() || '' ).concat(".xml") === fileName)))
然后这部分(jdService.getjdFileName() || '' )
将评估jdService.getjdFileName()
返回的值,或者,如果该值是假的,则评估为空字符串('')。这样就可以确保始终在字符串上调用concat()。