При нажатии кнопки "Отмена" я уничтожаю элемент дерева представлений syncfusion, а при нажатии кнопки "Добавить" я хочу воссоздать его.Но когда я воссоздаю древовидное представление, я получаю консольную ошибку TypeError: Cannot use 'in' operator to search for 'modelChange' in null
У меня есть директива использования для отображения данных в формате древовидного представления.
Ниже приведен код, написанный в директиве
$scope.treeFunction = function() {
$("#treeView").ejTreeView({
allowDragAndDrop: true,
showCheckbox: $scope.allowCheckbox,
cssClass: 'mytree',
nodeCheck: function(args) {
$scope.checkedNode();
},
nodeUncheck: function() {
$scope.uncheckedNode();
}
});
$scope.changeState('expand');
}
permissionTreeDesignerController.$inject = ['$scope', '$rootScope']
return {
restrict: 'EA',
replace: 'false',
controller: permissionTreeDesignerController,
templateUrl: '../modules/directives/permissionTreeDesigner/permissionTreeDesigner.html',
scope: {
treeNodes: '=',
allowCheckbox: '=',
roles: '=roles',
selection: '=',
checkedNode: '&checkedNode',
uncheckedNode: '&uncheckedNode'
},
link: function(scope, element, attrs, ctrl) {}
}
Ниже приведеномой HTML-код для контроллера
<div class="modal-body bodySetting" ng-click="vm.openAddUserOrgModal()">
<permissiontreedesigner ng-if="vm.orgTreeReady==true" tree-Nodes="orgTreeFormatedData" checked-Node="vm.checkedNode()" unchecked-Node="vm.uncheckedNode()" roles="rolesForAssignRoles" selection="selectedroles" allow-Checkbox="isallowcheckbox"></permissiontreedesigner>
</div>
vm.openAddUserOrgModal = function () {
//code to set value to the directive function and variable
}