问题 Angular.js:ng-repeat中的双向绑定


我正在开发一个Angular应用程序。

我想生成一个带有任意数量的文本输入字段的表单,其中包含双向绑定 每个输入字段。没有按钮,没有观察者。 ng-model 因为范围界定而无法正常工作(如果我没有记错的话)。输入字段是从具有ng-repeat的数组生成的,如下所示:

 <div ng-repeat="item in items">
   <label>{{item.name}}</label>
   <input type="text" placeholder="{{item.default}}" ng-model="{{item.value}}"> <!-- this input should be bound -->
 </div>

我只想要一个简单的绑定来更新 items 控制器中的数组在输入中的变化。

任何帮助赞赏。


1730
2018-02-21 16:52


起源

如果您要将其写入页面,则只需要角撑{{var}}。在重复或模型或过滤器中使用它时,您不需要大括号。请注意,您已在ng-repeat中执行此操作,但未执行“{{items}}中的项目”。 - James M
谢谢詹姆斯的建议!我想我更了解Angular(虽然我还是新手:)) - Sammy S.


答案:


只需更改输入标记即可:

<input type="text" placeholder="{{item.default}}" ng-model="item.value">

注意 ng-model 没有花括号。

工作插件: http://plnkr.co/edit/CLdem9yIw2Sk1U52Iajl?p=preview


11
2018-02-21 17:12



万分感谢!它现在正在工作:) - Sammy S.
这个plnkr不起作用。我清楚地看到小胡子值{{item.name}}没有得到更新。 - FlavorScape