将JSON数据绑定到angular中绑定范围变量的属性
我正在努力创建一个角度模型。该模型基本上是一种父子关系,类似于ul=>li关系 我已经成功地将父JSON数组绑定到$scope.parents变量,并且可以在父变量上重复。 但是,当我从承诺的结果向$scope.parents.children添加子对象时,我在视图中什么也得不到 我的控制器代码如下:将JSON数据绑定到angular中绑定范围变量的属性,json,angularjs,Json,Angularjs,我正在努力创建一个角度模型。该模型基本上是一种父子关系,类似于ul=>li关系 我已经成功地将父JSON数组绑定到$scope.parents变量,并且可以在父变量上重复。 但是,当我从承诺的结果向$scope.parents.children添加子对象时,我在视图中什么也得不到 我的控制器代码如下: departmentModule.controller(“departmentController”,功能($scope,departmentService){ $scope.parents=
departmentModule.controller(“departmentController”,功能($scope,departmentService){
$scope.parents=[];
$scope.tempArr=[]
//Load initial root/parent structure
departmentService.getParents(getSelectedEventId()).then(function (result) {
$scope.parents = result;
$scope.bindChildNodes()
});
//loop through parent structure and get child nodes 1 level deep for initial load
$scope.bindChildNodes = function () {
for (var i = 0; i < $scope.parents.length; i++) {
var assignmentId = $scope.parents[i].ID;
$scope.parents[i].children = [];
departmentService.getChildren(getSelectedEventId(), assignmentId).then(function (result) {
//i would send result to children here, but this function doesnt have access to the i var to know what parent the children belong too..
$scope.tempArr = result;
});
$scope.parents[i].children = $scope.tempArr;
}
}
});
//加载初始根/父结构
departmentService.getParents(getSelectedEventId())。然后(函数(结果){
$scope.parents=结果;
$scope.bindChildNodes()
});
//循环父结构,并获得初始加载的子节点1级深度
$scope.bindChildNodes=函数(){
对于(变量i=0;i<$scope.parents.length;i++){
var assignmentId=$scope.parents[i].ID;
$scope.parents[i]。children=[];
getChildren(getSelectedEventId(),assignmentId)。然后(函数(结果){
//我会在这里将结果发送给子对象,但此函数没有访问i变量的权限,无法知道子对象属于哪个父对象。。
$scope.tempArr=结果;
});
$scope.parents[i]。children=$scope.tempArr;
}
}
});
当我将$scope.tempArr分配给其父级的children属性:$scope.parents[i].children时,它会以某种方式丢失其值-因此$scope.parents[0]的console.log。children是一个空数组。
有什么想法或帮助吗?为什么我不能将JSON对象分配给范围变量的子属性?
提前非常感谢。这是因为您在定义bindChildNodes()之前(在plunkr中)调用了它吗?天哪,它似乎解决了问题-我将尝试我的真实示例,看看它是否解决了问题。。漂亮的皮卡az7ar!在使用之前,我假设了角度“加载”函数。。你会重建这个函数吗?再次感谢..嘿,你修好了,伙计-我真不敢相信事情会这么简单。我必须记得先把函数按角度排序。。如果有人愿意传播ng的爱,我仍然很想知道一个更好的方法来做上述事情……谢谢!