Javascript 为什么我可以将表单绑定到$index,但不能插入名称?
我试图基于数组的填充创建Javascript 为什么我可以将表单绑定到$index,但不能插入名称?,javascript,angularjs,Javascript,Angularjs,我试图基于数组的填充创建ng表单s。该数组包含元素N到M,看起来与此类似 [ { name: 'MyForm N'}, { name: 'MyForm N+1' }, ...., { name: 'MyForm M' }] 我正在使用ng repeat指令创建此表单列表。我想在scope对象MyForms中发布此表单列表-为此,我将重复的表单封装在另一个相应命名的表单中 <div ng-form='MyForms'> <div ng-repeat='form in f
ng表单
s。该数组包含元素N到M,看起来与此类似
[ { name: 'MyForm N'}, { name: 'MyForm N+1' }, ...., { name: 'MyForm M' }]
我正在使用ng repeat
指令创建此表单列表。我想在scope对象MyForms
中发布此表单列表-为此,我将重复的表单封装在另一个相应命名的表单中
<div ng-form='MyForms'>
<div ng-repeat='form in forms'>
<div ng-form='form.name'>
<input type='text' name='Foo'>Bar</input>
</div>
</div>
</div>
酒吧
显然,这个例子失败了,因为ng form
需要一个字符串,而form.name
的字面意思比我希望的要多一些,将每个表单依次发布到form.name
(覆盖上一个表单)
我的问题是-为什么
form.name
会出现这种情况,但是我可以在完全相同的位置使用$index
(从ng repeat
)并得到我想要的结果(尽管MyForms
没有用form.name
表示)?我知道ng form
需要字符串,而不是表达式,但$index
不是表达式的一部分吗?因为1.3.0-rc。3可以将表达式指定为表单或输入元素的属性名称值
因此,这应该是可行的:
<div ng-form="MyForms">
<div ng-repeat="form in forms">
<div ng-form="{{form.name}}">
<input type="text" name="Foo">Bar</input>
</div>
</div>
</div>
酒吧
这是添加支持的提交:您是否尝试过
?是。我不明白你为什么说$index
工作正常。你能举个例子吗(plunker)?我用ref{{{$index}}
代替{{{form.name}}
。抱歉,我不能提供plunkr,因为我目前不在该分支上,正在进行更改,我不想隐藏这些更改并失去我的思路。直到我需要使用ng类
,它不使用interpolation.Ah,这一切都很好。我使用的是1.3.0-rc.1。非常感谢。