【问题标题】:Angular js - ng-model in ng-repeatAngular js - ng-repeat 中的 ng-model
【发布时间】:2015-09-06 17:36:37
【问题描述】:

ng 重复中的“ng-model name”不同 - 可能吗?

<div  ng-repeat="todo in todos">
   <input type="text" ng-model="tag">  
   <button type="submit"ng-click="addTodo(todo._id)">Add</button>
</div>

在这种情况下,前端会显示一些重复的待办事项(基于待办事项 json 数据)

我的问题:我在任何输入字段上输入的内容,所有输入字段都显示相同的数据

我需要在每个输入字段上使用不同的 ng-model 名称,我猜是这样的ng-model="tag($index)"

【问题讨论】:

  • 你能添加你的控制器的代码并展示你如何存储标签和待办事项吗?

标签: html angularjs angularjs-ng-repeat angular-ngmodel


【解决方案1】:

您可以通过$index 将新创建的模型放在标签数组中,而在tag 中声明模型时,您应该使用数组表示法[] 而不是()

ng-model="tag($index)" 

应该是

ng-model="tag[$index]"

标记

<div  ng-repeat="todo in todos">
   <input type="text" ng-model="tag[$index]">  
   <button type="submit"ng-click="addTodo(todo._id)">Add</button>
</div>

【讨论】:

    【解决方案2】:

    有可能像下面这样

    <div  ng-repeat="todo in todos">
       <input type="text" ng-model="tag[todo]">  <--todo.key-->
       <button type="submit"ng-click="addTodo(todo._id)">Add</button>
    </div>
    

    【讨论】:

      【解决方案3】:

      你可以这样做:

       <input type="text" ng-model="todo.tag">  
      

      【讨论】:

        猜你喜欢
        • 2014-10-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-13
        • 2014-10-05
        • 1970-01-01
        • 1970-01-01
        • 2017-11-19
        相关资源
        最近更新 更多