AngularJS中的KendoUI TreeView:如何在单个服务器请求中加载完整的HierarchycalDataSource?
我编写了一个KendoUI/AngularJS树视图,它发出GET服务器请求来检索JSON数据。问题是树中只显示第一个节点,即使JSON响应包含完整的树 我读到,由于树使用HierarchycalDataSource,因此有一个解决方法来获取完整的树。但是,解决方法不在AngularJS中,我不知道如何通过加载带有k-options属性的树来实现它。如何在单个请求中加载和显示完整的树 这是HTML:AngularJS中的KendoUI TreeView:如何在单个服务器请求中加载完整的HierarchycalDataSource?,angularjs,kendo-ui,kendo-treeview,Angularjs,Kendo Ui,Kendo Treeview,我编写了一个KendoUI/AngularJS树视图,它发出GET服务器请求来检索JSON数据。问题是树中只显示第一个节点,即使JSON响应包含完整的树 我读到,由于树使用HierarchycalDataSource,因此有一个解决方法来获取完整的树。但是,解决方法不在AngularJS中,我不知道如何通过加载带有k-options属性的树来实现它。如何在单个请求中加载和显示完整的树 这是HTML: <div ng-controller="ctrl">
<div ng-controller="ctrl">
<div id="treediv" kendo-tree-view="tree" k-options="treeOptions"></div>
</div>
答案是在控制器中实现init函数,该函数将在加载树之前通过$http填充完整的数据源
app.controller('ctrl', ['$scope','$http', function($scope,$http) {
$scope.treeOptions = {
dataSource: {
transport: {
read: function (e) {
$http({
method: 'GET',
url: '/loadtree',
headers: {
'Content-Type': 'application/json'
}
}).
success(function(data, status, headers, config) {
e.success(data.tree);
}).
error(function(data, status, headers, config) {
alert('System error');
});
}
}
}
};
}]);