Angular.js作为数据结构得到形式?

时间:2014-03-19 22:48:01

标签: javascript forms angularjs

我尝试完成的工作:

我正在使用的框架默认按惯例生成这些输入名称:

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>

我找到的用于角度的表单处理的每个示例都是不同的,看起来有一千种不同的方式来处理表单。猜猜我刚迷路了。

  • 那么我可以做我想做的事吗?
  • 我想要的是否有意义?
  • 如果是:我该怎么做?
  • 如果没有:我如何处理最好的表格?

1 个答案:

答案 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>