angularjs 从父级更改 ng-repeat 嵌套值
angularjs change ng-repeat nested value from parent
当我从 "pens" 或 "Tow"
更改数字时,我想更改嵌套 ng-repeat 中的 "taskAssembly.qnt" 值
看到这个笨蛋。 http://plnkr.co/edit/rKnup0IIPRYvh8JLHXbD?p=preview
查看我的数据:
{ "client": "client1","takeoff": [
{
"taskName": "ToW",
"taskQnt": 2300,
"taskAssembly": [
{
"qnt": "",
"product": "spray",
"labour": 12,
"name": "John"
},
{
"qnt": "",
"product": "strips",
"labour": 10,
"name": "John"
}
]
}
我想当我改变 takeOff.taskQnt 时 ng-repeat 中的 taskAssembly.qnt 改变
这个功能不起作用。
$scope.adjustTaskQnt = function (items) {
var test = 0;
for (var i in items) {
items[i].qnt == $scope.takeOff.taskQnt
}
return $scope.taskAssembly.qnt;
};
知道如何做到这一点吗?
尝试修改 adjustTaksQnt 函数和模板如下。
$scope.adjustTaskQnt = function($index) {
angular.forEach($scope.estimate.takeoff[$index].taskAssembly, function(value, key) {
value.qnt = $scope.estimate.takeoff[$index].taskQnt;
});
};
HTML 模板
<input type="text" class="qnt" ng-model="takeOff.taskQnt" ng-change="adjustTaskQnt( $index )">
这也可以,只需修改您的功能
$scope.adjustTaskQnt = function (items) {
// var test = 0;
//for (var i in items) {
// items[i].qnt == $scope.takeOff.taskQnt;
//}
for(i=0;i<items.length;i++){
if(items[i].taskName=="ToW"){
for(j=0;j<items[i].taskAssembly.length;j++){
items[i].taskAssembly[j].qnt=items[i].taskQnt;
}
}
else if(items[i].taskName=="Pens"){
for(j=0;j<items[i].taskAssembly.length;j++){
items[i].taskAssembly[j].qnt=items[i].taskQnt;
}
}
}
return $scope.taskAssembly.qnt;
};
当我从 "pens" 或 "Tow"
更改数字时,我想更改嵌套 ng-repeat 中的 "taskAssembly.qnt" 值看到这个笨蛋。 http://plnkr.co/edit/rKnup0IIPRYvh8JLHXbD?p=preview
查看我的数据:
{ "client": "client1","takeoff": [
{
"taskName": "ToW",
"taskQnt": 2300,
"taskAssembly": [
{
"qnt": "",
"product": "spray",
"labour": 12,
"name": "John"
},
{
"qnt": "",
"product": "strips",
"labour": 10,
"name": "John"
}
]
}
我想当我改变 takeOff.taskQnt 时 ng-repeat 中的 taskAssembly.qnt 改变
这个功能不起作用。
$scope.adjustTaskQnt = function (items) {
var test = 0;
for (var i in items) {
items[i].qnt == $scope.takeOff.taskQnt
}
return $scope.taskAssembly.qnt;
};
知道如何做到这一点吗?
尝试修改 adjustTaksQnt 函数和模板如下。
$scope.adjustTaskQnt = function($index) {
angular.forEach($scope.estimate.takeoff[$index].taskAssembly, function(value, key) {
value.qnt = $scope.estimate.takeoff[$index].taskQnt;
});
};
HTML 模板
<input type="text" class="qnt" ng-model="takeOff.taskQnt" ng-change="adjustTaskQnt( $index )">
这也可以,只需修改您的功能
$scope.adjustTaskQnt = function (items) {
// var test = 0;
//for (var i in items) {
// items[i].qnt == $scope.takeOff.taskQnt;
//}
for(i=0;i<items.length;i++){
if(items[i].taskName=="ToW"){
for(j=0;j<items[i].taskAssembly.length;j++){
items[i].taskAssembly[j].qnt=items[i].taskQnt;
}
}
else if(items[i].taskName=="Pens"){
for(j=0;j<items[i].taskAssembly.length;j++){
items[i].taskAssembly[j].qnt=items[i].taskQnt;
}
}
}
return $scope.taskAssembly.qnt;
};