我正在使用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.html
和 data.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/