当前位置: 首页 > 面试题库 >

通过(key,val)在ng-repeat中的Angularjs ng-model不更新

陈飞
2023-03-14
问题内容

这是我不工作的演示

<section ng-repeat="t in test">
  <div ng-repeat="(key,value) in t">
    <div>{{key}}</div>
   <input type="text" ng-model="value"/>
  </div>
</section>

模型保持不变。如何同步?请注意,数据结构很重要。


问题答案:

ng-model结合将评估在当前范围的表达。作为ng-repeat创建一个子范围,这意味着ng- model将寻找一个命名属性value的子范畴。在您的示例中,我们希望它val 范围内查找属性,该属性的别名为t

这是设计使然,可以通过引用t表达式中的父范围来避免这种情况。

工作演示

代码(注意输入元素上的绑定已更改):

<section ng-repeat="t in test">
  <div ng-repeat="(key,value) in t">
    <div>{{key}}</div>
   <input type="text" ng-model="t[key]"/>
  </div>
</section>

当您使用Angular 1.3的Beta版时,这可能是一个错误。



 类似资料:
  • 问题内容: 我正在尝试使用ng-repeat生成表单输入。注意:’customFields’是字段名称的数组:[“ Age”,“ Weight”,“ Ethnicity”]。 设置“ ng-model”的最佳/正确方法是什么?我想将它作为 person.customfields.’fieldname’ 发送到服务器,其中fieldname来自’customFields中的field’。 问题答案:

  • 问题内容: 我正在尝试处理ng-repeat循环内的范围问题-我浏览了很多问题,但还无法使我的代码正常工作。 控制器代码: 视图: 这是一个小提琴:http : //jsfiddle.net/cyberwombat/zqTah/ 基本上,我有一个包含多行文本的对象(这是一个传单生成器)。用户可以调整每行文本(文本,字体,大小,颜色等),我想为其创建预览。上面的示例仅显示了输入文本的输入字段,我希望

  • 问题内容: 如果我的措词不正确,我事先表示歉意。我在的内部有一个文本框,当我尝试获取文本框值时始终为。我只希望它显示我在相应文本框中键入的内容。 似乎是一个问题,那么我该如何创建全局或控制器根级别以便可以访问它? 这是帮助解决问题的JSFiddle:http : //jsfiddle.net/stevenng/9mx9B/14/ 问题答案: 在您的点击表达式中,您可以引用并在您的函数中对其进行访问

  • 对此,作者提出了建议

  • 我试图迭代的数据如下所示: 目标是迭代response.content.#部分。目前我正在通过GetDigest变量通过控制器(婴儿步骤-我是新的)传递内容。所以我的NGrepeater看起来像这样: 如何让它遍历这个json的子部分? 谢谢!

  • 问题内容: 我正在通过ng-repeat循环渲染数据。而且我希望它在更新数组时进行更新。从我阅读的内容来看,这应该会自动发生,但是这是行不通的。那我在做什么错? 的HTML: 控制器(此功能通过ng-click在按钮上触发): Console.log显示该数组已正确更新,但是我视图中的表未更改。我不知道我在做什么错。 问题答案: 那是因为您在method中更改了数组引用。 为了避免这种情况,我们使