使用ng-repeat
我试过这样但是它不起作用:
<div ng-repeat="item in PC.Items">
<button ng-click="PC.minus()" class='btn btn-default'>-</button>
<input ng-model="item.Quantity"
type='number'
name='Quantity'/>
<button class='btn btn-default' ng-click="PC.plus()">+</button>
</div>
vm.plus = function() {
vm.Quantity++;
console.log(vm.Quantity);
};
vm.minus = function() {
vm.Quantity--;
};
Thnx:)
答案 0 :(得分:2)
你的加号&amp;减号按钮应该只影响它们分配给的当前项目,而不是所有其他项目。为此,将项目实例传递给加号和减号函数 - 因为对象作为参考传递,对象数据将直接更改。
HTML:
<div ng-repeat="item in PC.Items">
<button ng-click="PC.minus(item)" class="btn btn-default">-</button>
<input ng-model="item.Quantity" type="number" name="Quantity"/>
<button class="btn btn-default" ng-click="PC.plus(item)">+</button>
</div>
JS:
vm.plus = function(item) {
item.Quantity++;
};
vm.minus = function(item) {
item.Quantity--;
};
答案 1 :(得分:1)
只需要一行就可以满足您的要求为什么有更多功能可以增加代码行数
HTML
<button ng-click="countVal=countVal-1"><i class="glyphicon glyphicon-minus"> </i></button>
{{countVal}}
<button ng-click="countVal=countVal+1"> <i class="glyphicon glyphicon-plus"> </i> </button>
JAVASCRIPT
$scope.countVal=0;
答案 2 :(得分:0)
您的模型引用变量是错误的,即PC和项目
如果是PC而不是更新代码
Your model reference variable is wrong that is PC and item
如果是PC而不是更新代码
<div ng-repeat="item in PC.Items">
<button ng-click="item.Quantity=item.Quantity+1" class='btn btn-default'>-</button>
<input ng-model="item.Quantity"
type='number'
name='Quantity'/>
<button class='btn btn-default' ng-click="item.Quantity=item.Quantity-1">+</button>
</div>
vm.plus = function() {
vm.Quantity++;
console.log(vm.Quantity);
};
vm.minus = function() {
vm.Quantity--;
};