我有一个具有很多属性的对象(所有类型编号)。我想编辑这些属性,因此对于每个属性我都有一个示例标记:
<div>
propertyA: <input type="number" step="0.1" ng-model="configuration.propertyA" required>
</div>
我不想为每个属性重复标记。我想使用ng-repeat或custom指令,但我不知道如何处理 ng-model =“...”。
类似的东西:
<div ng-repeat="property in properties">
{{property.???}}: <input type="number" step="0.1" ng-model="property.???" required>
</div>
或自定义指令(我知道如何转换静态文本,但使用 ng-model ):
<my-directive input-value="PropertyA???">PropertyA: </my-directive>
编辑(也许会解释更多):
我有一个来自Server的配置对象。我不想在问题的顶部重复标记。我希望有一次标记,然后循环每个属性,因此每个属性都将被编辑。最后,我想将配置发布回服务器。
答案 0 :(得分:0)
跟随你在你的傻瓜中的obj,它只是
<div ng-repeat="item in configuration">
{{item}} <input type="number" step="0.1" ng-model="item" required>
</div>
答案 1 :(得分:0)
$ scope.configuration = { propertyA:$ scope。(NgModel-Name)&lt; ----
} 它不是将值放在这个$ scope中,而是称为2路绑定。 并使用ng-value来放置项的初始值。你明白了吗?
答案 2 :(得分:0)
使用指令非常容易。
app.directive('myInput', function() {
return {
restict: 'EA',
template: '<input type="number" step="0.1" ng-model="value">',
scope: {
value: '=',
},
}
})
标记:
<span my-input value="configuration.weight"></span>