繁体   English   中英

Angular.js获取表单作为数据结构?

[英]Angular.js get form as data structure?

我尝试完成的工作:

我使用的框架默认情况下会按照约定生成此类输入名称:

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'
        },
        /* ... */
    ]
}

我尝试过的

我尝试将名称命名为“数据”,因为我在某处读取了它作为另一个作用域,并且字段将出现在该作用域中。 之后,我尝试对每个字段使用ng-model="data.Model.field" 我能得到的最好的是这样的对象(从控制台复制):

Jc { $error={...}, $name="formData", $dirty=false, more...}

我认为这是角度表单处理程序(?),我也检查了文档,但是我无法弄清楚如何通过它访问表单数据,也无法弄清楚如何将其转换为所需的结构。

同样,我发现每个关于angular的表单处理示例都是不同的,似乎有上千种处理表单的方式。 猜猜我迷路了。

  • 那么有可能做我想做的一切吗?
  • 我想要的完全有意义吗?
  • 如果是:我该怎么办?
  • 如果没有:我如何最好地利用表格?

如果您只是尝试重新创建对象,则该表单可能看起来像这样,并且可以在$ 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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM