2017-08-15 70 views
0

我在循环内部有一个注释输入的ng-repeat。有了ng-model =“comss.comment”,但是当我开始键入第一个输入时,我可以看到第二个输入和所有其他输入。我怎样才能阻止呢?我试着用一个唯一的ID添加一个名字,但是没有奏效。ng-repeat输入保留每个循环的相同值

这里是我的代码:

<li class="item" style="margin-top:20px;" ng-repeat="schedule in discoverloaded | filter:scheduleSearch | limitTo:numberOfItemsToDisplay"> 
 

 
<input type="text" ng-model="comss.comment" required='required' placeholder="Write a comment.."> 
 

 
</li>

+0

请给我们提供一个小提琴。 –

回答

1

既然你在一个循环中,访问comss.comment每个循环将是相同的模型,您需要修改模板和模型稍微:

<li class="item" style="margin-top:20px;" 
    ng-repeat="schedule in discoverloaded | filter:scheduleSearch | limitTo:numberOfItemsToDisplay track by $index"> 

    <input type="text" ng-model="comss[$index].comment" 
    required='required' placeholder="Write a comment.."> 

</li> 

在控制器中它将是一个更大的对象,因此对于发现的两个项目的循环,你wou在comss LD有这样的:

comss = { 
    0: { 
    comment: '' 
    }, 
    1: { 
    comment: '' 
    } 
}; 

在无法通过comss.0.comment访问它的模板,这就是为什么你使用comss [$指数]的.comment因为你是在循环内,当你分配模型。

+0

我将如何访问控制器中的值?或者它会像正常一样 - comss.comment - 我一直得到undefined var – SARUAV

+0

我已经更新了答案以显示原因。 – rrd