Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.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 TypeError:无法读取属性';concat&x27;执行删除操作时未定义的值_Javascript_Angularjs_Yeoman Generator Angular - Fatal编程技术网

Javascript TypeError:无法读取属性';concat&x27;执行删除操作时未定义的值

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

我已经经历了stackoverflow中提供的其他解决方案,但它对我不起作用。因此,请有人建议我在我的情况下该怎么做。 在我的例子中,当我在控制台上执行删除操作时,它给出了错误,请记住它没有反映删除操作,它工作正常。我只想删除或解决这个错误

以下是我的控制台错误:

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的回复现在控制台中没有错误,删除操作也正常工作。谢谢你的解决方案。