gpt4 book ai didi

javascript - 我如何检测是否使用 angular.forEach AngularJS 添加了一个对象

转载 作者:行者123 更新时间:2023-11-30 07:39:46 24 4
gpt4 key购买 nike

我正在尝试将对象添加到 $scope.orderitems 中,如果对象已经在 $scope.orderitems 中,我想使用 angular.forEach 更改对象的数量属性,而不是添加另一个对象。每当我调用 additem 函数时,我都会收到一个错误,指出未定义 orderitems。

这是我的代码

HTML

<input type="text" ng-model="item.name">
<button type="button" ng-click="additem(item)">

<ul>
<li ng-repeat="orderitem in orderitems">
<p>{{ orderitem.name }} | {{ orderitem.qty }}</p>
</li>
</ul>

JS

app.controller('OrderCtrl', function($scope) {
$scope.orderitems = [];
$scope.additem = function(data) {

angular.forEach(orderitems, function(orderitem) {
if (orderitem.id === data.id) {
orderitem.qty = orderitem.qty++;
} else {
data.qty = 1;
$scope.orderitems.push(data);
}
});
};
});

最佳答案

这是一个工作 fiddle :http://jsfiddle.net/rodhartzell/hbN4G/

HTML

<body ng-app="app">
<div ng-controller="OrderCtrl">
<input type="text" ng-model="item.name">
<button type="button" ng-click="additem()">add</button>

<ul>
<li ng-repeat="orderitem in orderitems">
<p>{{ orderitem.name }} | {{ orderitem.qty }}</p>
</li>
</ul>
</div>

Controller

var app = angular.module('app', []);

app.controller('OrderCtrl', function($scope) {

$scope.orderitems = [{name: 'foo', id:1, qty:1}];
$scope.additem = function() {
var exists = false;
var data = {
id : $scope.orderitems.length + 1,
name: $scope.item.name,
qty: 1
}
angular.forEach($scope.orderitems, function (item) {
if (item.name == data.name) {
exists = true;
item.qty++;
return false;
}
});
if(!exists){
$scope.orderitems.push(data);
}

};
});

关于javascript - 我如何检测是否使用 angular.forEach AngularJS 添加了一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20643767/

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