javascript - 对象未更新 Angular

标签 javascript angularjs scope

我有我的目标

$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 属性。

这是对该问题的更彻底的解释:

Binding to Values

也许您需要的是每个引用父对象的子对象的属性?这样你就可以从任何子对象中获取父对象的 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/

相关文章:

javascript - 从 DOM 元素获取值,然后使用 React.js 设置为另一个值

javascript - 独立于多个页面上的模块的 AngularJS 服务

c# - 当使用相同的变量名时,使用 is 运算符进行变量初始化会出错

python - 我怎么可能在外层()函数中调用嵌套的 len() 函数

JavaScript;未捕获的类型错误

javascript - 如何在 Objection/Knex 中使用引用而不是文字字符串值查询 .where()

angularjs - return 语句后无法访问代码 Angular Material 在 index.html 中链接时失败

javascript - 如何在 Jasmine 测试中释放 AudioContext

Python 解释器中的全局/局部作用域?这是什么妖术

php - onclick 追加 textarea 到 div