使用 ng-repeat 和 $index 设置模型 属性
Use ng-repeat and $index to set the model property
我可以使用 ng-repeat 和 $index 动态设置模型 属性 吗?
我正在尝试做这样的事情:
<div ng-repeat="x in [].constructor(10) track by $index">
<input ng-model="model.prop{{$index}}">
</div>
而且我希望我的模型像这样结束(即这些属性不存在于控制器代码中,我希望动态添加它们):
{
"prop0": "val",
"prop1": "val",
"prop2": "val",
"prop3": "val",
"prop4": "val",
...
"prop10": "val"
"otherProperty": "xxx"
}
我不希望属性是一个数组,我需要在不更改控制器的情况下执行此操作。
谢谢
您可以在指令中迭代对象(键、值)ng-repeat
控制器
$scope.props = {
"prop0": "val",
"prop1": "val",
"prop2": "val",
"prop3": "val",
"prop4": "val",
...
"prop10": "val"
}
HTML:
<div ng-repeat="(key, value) in props">
<input ng-model="props[key]">
</div>
在某些情况下,您应该避免使用 track by $index
请查看 Whosebug 上的 Tracking and Duplicates in AngularJs doc and When not to use 'track by $index' in an AngularJS ng-repeat?。
已排序,我这样做了:
<div ng-repeat="x in [].constructor(10) track by $index">
<input ng-model="model.['prop' + ($index)]">
</div>
我可以使用 ng-repeat 和 $index 动态设置模型 属性 吗?
我正在尝试做这样的事情:
<div ng-repeat="x in [].constructor(10) track by $index">
<input ng-model="model.prop{{$index}}">
</div>
而且我希望我的模型像这样结束(即这些属性不存在于控制器代码中,我希望动态添加它们):
{
"prop0": "val",
"prop1": "val",
"prop2": "val",
"prop3": "val",
"prop4": "val",
...
"prop10": "val"
"otherProperty": "xxx"
}
我不希望属性是一个数组,我需要在不更改控制器的情况下执行此操作。
谢谢
您可以在指令中迭代对象(键、值)ng-repeat
控制器
$scope.props = {
"prop0": "val",
"prop1": "val",
"prop2": "val",
"prop3": "val",
"prop4": "val",
...
"prop10": "val"
}
HTML:
<div ng-repeat="(key, value) in props">
<input ng-model="props[key]">
</div>
在某些情况下,您应该避免使用 track by $index
请查看 Whosebug 上的 Tracking and Duplicates in AngularJs doc and When not to use 'track by $index' in an AngularJS ng-repeat?。
已排序,我这样做了:
<div ng-repeat="x in [].constructor(10) track by $index">
<input ng-model="model.['prop' + ($index)]">
</div>