保持动态表与AngularJS中的模型同步

保持动态表与AngularJS中的模型同步,angularjs,data-binding,binding,model,html-table,Angularjs,Data Binding,Binding,Model,Html Table,我有以下示例模型: { a:{ x:0, z:0, f:1 }, b:{ x:"a", u:"b" } } 我把它渲染成两个不同的表 <div class="col-sm-5"> <h1>A</h1> <table> <tr> &l

我有以下示例模型:

{
 a:{
    x:0,
    z:0,
    f:1
   },
 b:{
   x:"a",
   u:"b"
   }
}
我把它渲染成两个不同的表

 <div class="col-sm-5">
                <h1>A</h1>
                <table>
                    <tr>
                        <th>Key</th>
                        <th>Value</th>
                    </tr>
                    <tr ng-repeat="(key,value) in schema.a">
                        <td>
                            <input type="text" ng-model="key" required>
                        </td>
                        <td>
                            <input type="text" ng-model="value" required>
                        </td>
                        <td></td>
                    </tr>
                </table>
            </div>
            <div class="col-sm-5 col-md-offset-2">
                <h1>B</h1>
                <table>
                    <tr>
                        <th>Key</th>
                        <th>Value</th>
                    </tr>
                    <tr ng-repeat="(key,value) in schema.b">
                        <td>
                            <input type="text" ng-model="key" required>
                        </td>
                        <td>
                            <input type="text" ng-model="value" required>
                        </td>
                        <td></td>
                    </tr>
                </table>
            </div>

A.
钥匙
价值
B
钥匙
价值
这些表是动态的,这意味着我可以向其中添加新行

现在,当我更改表中的任何值时,它们不会与模型同步->编辑不可能

  • 我需要做什么才能将更改自动存储在原始文件中 模特儿
  • 如果不可能,如何从表中获取Json模式 就像表从中呈现一样,因此我只需要 覆盖旧的吗

首先,您不能动态更改对象属性名称或
键。因此,您试图用
ng model=“key”
执行的操作根本不起作用

对于
部分,您应该在
ng模型中使用对象引用

<tr ng-repeat="(key,value) in schema.b">
    <td>{{key}}</td>
    <td>
        <input type="text" ng-model="schema.b[key]" required>
    </td>
    <td></td>
</tr>

{{key}}

如果需要编辑
,则需要将数据结构更改为对象数组,每个对象的键属性名称相同

谢谢。现在,我已经禁用了密钥编辑,因此用户在创建密钥时必须对其进行设置