javascript - 创建 Angular 树控件时使用 json 作为数据源

标签 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;
    });
});

有更好的方法吗?

最佳答案

您要在 $.getJSON 完成之前分配 $scope.treedata。您应该在成功回调中执行此操作:

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

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

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

不要忘记先注入(inject)$http

关于javascript - 创建 Angular 树控件时使用 json 作为数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38591649/

相关文章:

angularjs - ui Grid 切换行列

json - 从 GoLang 中的 JSON 文件读取时获取空白值

JavaScript/jQuery 简写函数定义

javascript - "Bad API request, invalid or expired api_user_key"

javascript - 如何使用一个事件套接字连接到 Express Web 服务器进行多个套接字写入?

javascript - 如何刷新 HTML 包上的 Canvas?

html - :valid css shows even when $valid: false

javascript - gentelella Angular 管理面板 - gentelella 切换菜单和侧边栏单击事件不起作用

javascript - 获取 JSON 对象值并将其放入 Javascript 变量中

json - 无法通过Logstash将JSON数据导入Elastic