gpt4 book ai didi

javascript - Angularjs - 使用 "this"关键字从其范围之外更新 ng-repeat 中的各个值

转载 作者:行者123 更新时间:2023-11-28 05:54:38 25 4
gpt4 key购买 nike

每当用户单击另一个表中的项目时,我都会尝试更新表中各个项目的数量。

例如,我有表 A 中所有项目的列表

                <tr ng-repeat="item in items">
<td>{{item.fid}}</td>
<td{{ item.fname }}</td>
<td>{{ item.calorie }}</td>
<td>{{ item.protein }}</td>
<td>{{ item.carb }}</td>
<td>{{ item.fat }}</td>
<td><button ng-click=additem(values)>Add</button>
<tr>

现在,当用户单击此“添加”按钮时,所选项目将添加到另一个表(表 B)中。我已禁用表 B 中的重复项,并且希望如果用户重复添加相同的项目,则表 B 中的项目数量应该增加。

表B

                      <tr ng-repeat="sitem in sitems>
<td>{{sitem.fname}}</td>
<td>{{sitem.calorie}}</td>
<td>{{sitem.protein}}</td>
<td>{{sitem.carb}}</td>
<td>{{sitem.fat}}</td>
<td>*</td>
<td><button ng-click="removeItem(values)">Remove</button></td>
</tr>
  • 是我希望显示增加的数量的位置。

我尝试过使用“this”关键字,但没有成功,我是 Angular 新手,所以我不知道我的选择是什么,并且混淆了。

最佳答案

您必须跟踪两个单独的数组才能完成此操作。

这是代码片段:`

$scope.additem = function(item) {
var index = $scope.sitems.indexOf(item);
if (index === -1) {
item.quantity = 1;
$scope.sitems.push(item);
return;
}
item.quantity++;
$scope.sitems[index] = item;

};

`

完整的工作 fiddle :https://jsfiddle.net/nbakliwal18/4kbo7Lfo/2/

您还可以在添加之前检查数量。

关于javascript - Angularjs - 使用 "this"关键字从其范围之外更新 ng-repeat 中的各个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37806351/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com