我使用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;
});
});
有更好的方法吗?
答案 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