我对ng-repeat中的ng-model有疑问。 我准备了一些例子。
https://jsfiddle.net/0ff3btv2/1/
Basicaly我可以在输入中创建ng-model并通过单击按钮删除其值:
<ul ng-controller="deleteCtrl">
<li>
<input type="text" ng-model="valueModel" placeholder="enter value" />
<input type="button" ng-click="deleteValue()" value="Delete" />
</li>
</ul>
但是,使用ng-repeat并执行相同操作时,无法删除值。
<ul ng-controller="deleteRepeatCtrl">
<li ng-repeat="element in data">
<input type="text" ng-model="element.valueModel"
placeholder="{{element.firstName}}" />
<input type="button" ng-click="deleteRepeatValue()" value="Delete"/>
</li>
</ul>
你能解释一下吗?
答案 0 :(得分:1)
尝试这个而不是功能
<input type="button" ng-click="element.valueModel=null" value="Delete"/>
答案 1 :(得分:1)
如果你想这样做,只需将当前元素传递给控制器
<input type="button" ng-click="deleteRepeatValue(element)" value="Delete"/>
</li>
$scope.deleteRepeatValue = function(element){
element.valueModel = '';
};