У меня возникли проблемы с настройкой моего jstree для корректного отображения данных. Происходит следующее: при щелчке по значку расширителя узла дерева предполагается сделать HTTP-вызов к базе данных, чтобы выяснить, какие дочерние узлы являются частью ветви этого узла. Затем предполагается, что эти данные отображаются как их собственные узлы, по которым можно щелкнуть самим. Однако вместо этого данные дочерних узлов извлекаются из БД, но не отображаются. При щелчке по второму узлу отображаются дочерние данные первого узла, а дочерние данные второго узла извлекаются, но не отображаются. Этот шаблон продолжается для каждого узла с дочерним узлом, по которому щелкают. Насколько я понимаю, функциональность, которая делает все это, выпрыгивает из сервиса AngularJS, и это из-за того, что информация отображается неправильно.
Что можно сделать, чтобы система отображала дочерние узлы с правильными родительскими узлами?
treeDiv.jsp
<div id="treePaneDiv">
<div id="treeContainerDiv">
<div id="treeStructureNameDiv">
<span id="treeStructureNameSpan" class="sectionTitle"></span>
</div>
<div id="treeDiv" class="tree-classic"></div>
</div>
mainController.js (здесь я делаю вызов в БД для дочерних узлов)
var orgModule = angular.module('org',['ngRoute']);
orgModule.controller('search', ['$http', function($http){
}]);
function getChildrenAPI(parentNo, structureNo){
var $http = angular.injector(['ng']).get('$http');
$http({
method: 'GET',
url: 'children',
params: {parentNode: parentNo, structureNo: structureNo},
async: false
}).then(function(response){
setChildrenData(response.data)
}).catch( function(data){
alert("error");
});
};
initTree.js
//used to retrieve an entity's children
function getChildren(parentNo, structureNo){
getChildrenAPI(parentNo, structureNo);
}
function setChildrenData(childrenData){
this.children_data = childrenData;
}
Часть, обведенная синим цветом, должна появиться в зоне2 вместо зоны 1