AngularJS中的KendoUI TreeView:如何在单个服务器请求中加载完整的HierarchycalDataSource?

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">

我编写了一个KendoUI/AngularJS树视图,它发出GET服务器请求来检索JSON数据。问题是树中只显示第一个节点,即使JSON响应包含完整的树

我读到,由于树使用HierarchycalDataSource,因此有一个解决方法来获取完整的树。但是,解决方法不在AngularJS中,我不知道如何通过加载带有k-options属性的树来实现它。如何在单个请求中加载和显示完整的树

这是HTML:

     <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');
                            });
                          }
                       }
                    }
                };
          }]);