我是Angularjs的新手并尝试做类似的事情:
<div ng-repeat="size in sizes">
{{size.name}}
<input ng-model="price_{{size.id}}" required type="number">
</div>
我已经了解了ng-repeat
和数据绑定的工作原理。但不能理解如何解决这个问题,我的产品可能有很多尺寸,我想显示如此多的输入框作为尺寸的数量。这样我就可以输入每种尺寸的价格。
答案 0 :(得分:1)
如果您只想指定每个尺寸的价格,为什么不将价格分配给大小的属性?
<input ng-model="size.price" type="number" required>
否则,您可以将价格定义为控制器中的对象:
$scope.prices = {};
并为每个ID创建一个属性:
<input ng-model="prices[size.id]" type="number" required>
答案 1 :(得分:1)
不是在模型中使用_
连接变量,而是使用数据结构。例如,将price
声明为对象,哪些属性是大小的id。在这种情况下,您可以写:
<input ng-model="price[size.id]" required type="number">
或者将price
声明为数组,并使用$index
代替size.id
,如果它不是那么重要:
<input ng-model="price[$index]" required type="number">