Javascript TypeError:无法读取属性';concat&x27;执行删除操作时未定义的值
我已经经历了stackoverflow中提供的其他解决方案,但它对我不起作用。因此,请有人建议我在我的情况下该怎么做。 在我的例子中,当我在控制台上执行删除操作时,它给出了错误,请记住它没有反映删除操作,它工作正常。我只想删除或解决这个错误 以下是我的控制台错误:Javascript TypeError:无法读取属性';concat&x27;执行删除操作时未定义的值,javascript,angularjs,yeoman-generator-angular,Javascript,Angularjs,Yeoman Generator Angular,我已经经历了stackoverflow中提供的其他解决方案,但它对我不起作用。因此,请有人建议我在我的情况下该怎么做。 在我的例子中,当我在控制台上执行删除操作时,它给出了错误,请记住它没有反映删除操作,它工作正常。我只想删除或解决这个错误 以下是我的控制台错误: TypeError: Cannot read property 'concat' of undefined at ChildScope.$scope.deleteJob (uploadController.js:454) at $pa
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;
},
如果您将
If
中的表达式更改为:
if((jdService.getjdFileName()==fileName)| |((jdService.getjdFileName()| |“”).concat(“.xml”)==fileName))
然后此部分
(jdService.getjdFileName()| | |“”)
将计算为jdService.getjdFileName()
返回的值,如果该值为false,则计算为空字符串(“”)。通过这种方式,您可以确保始终对字符串调用concat()。jdService.getjdFileName()
返回undefined
ok,那么我在这里如何处理这个问题呢;return{getjdFileName:function(){return jdFileName;},setjdFileName:function(value){jdFileName=value;},谢谢@MaximShoustin的回复谢谢你@marekful的回复谢谢你@marekful的回复谢谢你@marekful的回复现在控制台中没有错误,删除操作也正常工作。谢谢你的解决方案。