未捕获的TypeError:无法读取未定义

时间:2017-09-12 05:31:32

标签: javascript jquery angularjs yeoman-generator-angular

大家好我想在我的网页应用程序中执行删除操作,当我从数据库中删除一个元素时,在控制台中显示此错误。请提前给予您宝贵的解决方案。

Uncaught TypeError: Cannot read property 'attributes' of undefined
at _clearTreeSelection (orphanController.js:888)
at Scope.$scope.clearSelection (orphanController.js:659)
at HTMLDivElement.<anonymous> (orphanController.js:1058)

在第888行,这是我的代码:

//This is to clear the selectedNode of angular tree on modal close
_clearTreeSelection = function () {
$scope.orphanData.orphanText = 
$scope.orphanData.orphan.attributes.text;//This is line no.888
if ($scope.OntologyTree && $scope.OntologyTree.currentNode) {
        $scope.OntologyTree.currentNode = null;
    }
};

在第659行,这是我的代码:

$scope.clearSelection = function () {
    _clearTreeSelection();//line no.659
    _clearGazetteerSelection();
};

在第1058行,这是我的代码:

_modal.on('hidden.bs.modal', function () {
    $scope.suggestionListSearchText = '';
        $scope.clearSelection();// line no. 1058
    });
}

我已经检查了所有的stackoverflow,我找不到适合这个问题的解决方案。

2 个答案:

答案 0 :(得分:1)

这意味着您的$scope.orphanData.orphanundefined。找到您声明此对象的位置,并确保它引用了一个对象。

答案 1 :(得分:0)

由于您尝试访问对象上的属性但该对象不存在,因此您收到此错误。您应首先确保orphan属性实际上作为对象存在,以便您可以访问它上的attributes属性。

您需要做出的更改:

$scope.orphanData.orphan = {'attributes': {}}