我尝试完成的工作:
我正在使用的框架默认按惯例生成这些输入名称:
name="data[Model][field]
以下是“班级有很多学生”的表单结构示例:
name="data[Class][name]"
name="data[Student][0][name]"
name="data[Student][1][name]"
我现在的问题是如何让这个结构反映在我的角色$ scope?
我期待同样的结构以某种方式显示在$ scope.data或其他类似的东西中:
$scope.data: {
Class: {
name: 'Some Name',
},
Student: [
{
name: 'Some Name'
},
/* ... */
]
}
我尝试了什么:
我试图给表单命名为“data”,因为我在某个地方读到了这个作为另一个范围,并且字段将出现在该范围内。之后我尝试对每个字段使用ng-model="data.Model.field"
。我能找到的最好的是像这样的对象(从控制台复制):
Jc { $error={...}, $name="formData", $dirty=false, more...}
我认为这是角形式处理程序(?),我也检查了文档,但我无法弄清楚如何通过它访问我的表单数据,也不知道如何将其转换为我想要的结构。 / p>
我找到的用于角度的表单处理的每个示例都是不同的,看起来有一千种不同的方式来处理表单。猜猜我刚迷路了。
答案 0 :(得分:0)
如果您只是想重新创建对象,那么表单可能看起来像这样,并且可以在$ scope.data中使用。
$scope.data = {};
<form>
<input ng-model='data.Class.name'/>
<input ng-repeat='student in data.Student' ng-model='student.name'/>
<input type='submit'/>
</form>