Angularjs 角度记录不通过指令绑定

Angularjs 角度记录不通过指令绑定,angularjs,Angularjs,我正在创建一个表单,您可以添加多个映射到数组的列 记录模型的一个示例如下所示 record = {'template_name' => 'name', 'detail_section_header' => ['Name', 'Date', 'Assigned To'} 目前,我是这样做的 record = {'template_name' => 'name', 'detail_section_header' => ['Name', 'Date', 'Assigned T

我正在创建一个表单,您可以添加多个映射到数组的列

记录模型的一个示例如下所示

record = {'template_name' => 'name', 'detail_section_header' => ['Name', 'Date', 'Assigned To'}
目前,我是这样做的

record = {'template_name' => 'name', 'detail_section_header' => ['Name', 'Date', 'Assigned To'}
html:

当前发生的情况是,数组(detail_section_header)在向上键到绑定模型(record)期间不会填充,直到我更改绑定模型中的另一个字段(如模板名称),然后它才会更新。我猜这和它消化的时间有关?关于如何在键入后立即填充该数组,有什么建议吗

Angular已经有了绑定到输入元素的方法,所以您不需要自定义指令

以下是您应该如何使用ngModel处理双向绑定:

  <thead ng-repeat="i in record.detail_section_header track by $index">
    <input type="text" ng-model="record.detail_section_header[$index]" />
  </thead>
这就像这样:
(代码仅用于演示目的,角度非常不同)


事实上,这是可行的。我经常使用ngModel,但没有意识到可以将其与这样的阵列绑定。谢谢
  <thead ng-repeat="i in record.detail_section_header track by $index">
    <input type="text" ng-model="record.detail_section_header[$index]" />
  </thead>
<input type="text" ng-model="i" />
var detail_section_header = ['Name', 'Date', 'Assigned To'];
var $index = 0;

// This is like using `ng-model="record.detail_section_header[$index]"`
detail_section_header[$index] = 'new value';

// **Correct: **
// We get the expected result,
// `detail_section_header[$index]` has the new value


// This is the equivalent of trying `ng-model="i"`
var i = detail_section_header[$index];
i = newValue;

// **Incorrect:**
// `detail_section_header[$index]` is unchanged