创建角树控件时使用json作为数据源

时间:2016-07-26 13:45:49

标签: javascript angularjs json

我使用Angular Tree Control来构建树,我想使用json文件作为数据源。

这是我的HTML标记

<treecontrol class="tree-classic"
     tree-model="treedata"

这是我的javascript代码,将json文件作为对象

var JSON;
$.getJSON('data.json', function(response){
    JSON = response;
    alert(JSON.property);
 });
 $scope.treedata = JSON;

路径应该是正确的(我的测试只有两个文件,同一文件夹中只有index.htmldata.json)。如果我获取我的json文件的内容,我只需将其粘贴到变量中以获取对象,它就可以工作。但是当我读取文件时,警报显示我的JSON变量为空。

您对如何解决此问题有所了解吗?非常感谢你。

更新

按照回调的想法,我找到了这个解决方案。

$.getJSON('data.json', function(response){
    $scope.$apply(function() { 
         $scope.treedata = response;
    });
});

有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

您在$scope.treedata完成之前分配$.getJSON。你应该成功回调:

$.getJSON('data.json', function(response){
   $scope.$apply(function() { 
      $scope.treedata = response;
   });
});

您可以使用$scope.$apply来更新绑定,但最好使用$http服务而不是$.getJSON

$http.get('data.json').then(function(response){
    $scope.treedata = response.data;
});

不要忘记先注入$http