假设我有一个类似 twitter 的网站,里面充满了消息。有一项功能可以在消息中添加评论。
因此,我迭代每条消息并显示评论表单:
<div class="" ng-repeat="msg in messages">
<span>message: {{msg.message}}</span>
<span>date {{msg.date}}</span>
<form ng-submit="">
<input type="text" ng-model="commentForm.comment">
<button type="submit" value="send">
</form>
</div>
问题是,当我在一条消息下输入评论时,它会显示在所有输入上,这不是我想要的行为。
- 使用disabled="true"禁用其他输入字段并没有帮助。
代码如下:plnkr
最佳答案
根据您提供的代码,所有文本输入都绑定(bind)到同一个 ng-model 变量。因此,当这些值之一发生变化时,它们就会被更新。您最好将评论存储为原始对象的一部分。
在 Controller 中:
$scope.messages = [
{'message': 'here goes some message',
'date': '1-1-2014',
'comment':''
},
{'message': 'here goes another message',
'date': '2-2-2014',
'comment':''
}
];
在 html 中:
<div class="" ng-repeat="msg in messages">
<input type="text" ng-model="msg.comment">
</div>
关于forms - AngularJS - 多种形式 - 一个 ng-model?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22078062/