【发布时间】:2017-09-28 11:33:30
【问题描述】:
我正在使用一个 API,其中服务器需要一个带有动态密钥的 json 有效负载。 预期的 json:
[
{"hello" : "world"},
{"someuser" : "somepass"}
]
我在 Angularjs 中使用 ng-model 来动态填充 UI 上的这些标头,并在用户点击提交后发送有效负载。
<li ng-repeat="header in headers track by $index">
<div ng-repeat="(key, value) in header">
<input type="text" placeholder="header key.." ng-model="key" />
<input type="text" placeholder="header value.." ng-model="value" />
<br/> key is {{key}} and value is {{value}}
</div>
</li>
key 和 value 的本地值被修改,但看起来父对象没有被双向数据绑定修改。
暂时的解决方法
我的后备代码使用固定键并在发送有效负载之前翻译结构,但我仍然想知道这是否可能。 翻译后的json:
[
{
"field": "someuser",
"value": "somepass"
},
...
]
HTML:
<li ng-repeat="header in headers track by $index">
<input type="text" placeholder="header key.." ng-model="header.field" />
<input type="text" placeholder="header value.." ng-model="header.value" />
</div>
</li>
编辑:修复了预期和翻译的 json
【问题讨论】:
-
你说的
ng-model="header.field"是什么意思? -
@RameshRajendran 这是我现在使用的解决方法 - 它基本上是通过固定键定义值。因此,我列出的新 json 具有
field和value固定键来保存可在ng-model字段中使用的值。它与原始问题无关。我已经通过编辑帖子说清楚了
标签: angularjs angularjs-ng-repeat angularjs-ng-model