我有我的目标
$scope.obj = {
id : 0,
name : 'parent',
childs : [{
obj_id : $scope.obj.id,
name : 'child1',
}, {
obj_id : $scope.obj.id,
name : 'child2',
}]
}
如果我使用输入动态更改 $scope.obj 的 ID 属性,它不会更新我 child 的对象的 obj_id 值。
<input type="text" ng-model="obj.id" />
但是,如果我在更新 $scope.obj.id 值后在 childs
属性中添加一个新对象,如下所示
$scope.obj.childs.push({
obj_id : $scope.obj.id,
name : 'child3',
});
我最近的子
对象推送的obj_id属性将在输入中设置$scope.obj.id的新值。
提前谢谢您。
最佳答案
当您将父对象的 id 分配给数组中的子对象时,复制的是 id 的值。因此,输入标记上的 ng-model 根本不会绑定(bind)到子级的 obj_id 属性。
这是对该问题的更彻底的解释:
也许您需要的是每个引用父对象的子对象的属性?这样你就可以从任何子对象中获取父对象的 id。
$scope.obj = {
id : 0,
name : 'parent',
childs : []
};
$scope.obj.childs.push({
parent : $scope.obj,
name : 'child1',
});
$scope.obj.childs.push({
parent : $scope.obj,
name : 'child2',
});
关于javascript - 对象未更新 Angular ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27405650/