forms - AngularJS - 多种形式 - 一个 ng-model?

标签 forms angularjs


假设我有一个类似 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>

http://plnkr.co/edit/DeUyHXsXJLUESXTAnwGY?p=preview

关于forms - AngularJS - 多种形式 - 一个 ng-model?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22078062/

相关文章:

angularjs - 将 ES6 类与 Angular 服务/ Controller 一起使用时出错

php - 如何使用相同的 PHP 表单在多个表中写入多个插入

javascript - <s :select> drop down issue when using default option as empty

php - 将表单 ACTION 发送到另一个 php 页面,该页面将处理第一页的结果

javascript - 如何在页面加载而不是事件触发时执行JS?

reactjs - 为 Final-form-arrays 中的数组提供初始值会导致状态更改重置整个表单,我该如何防止这种情况?

javascript - AngularJs 指令和 $http 调用

angularjs - 如何使 angularjs 应用程序在配置方面符合 12 因素

javascript - 使用 ng-change 更新 Angular 模型

javascript - 包装 jquery 插件的 Angular 指令