使用ng-keyup更新ng-repeat中的范围

时间:2016-10-11 18:57:41

标签: angularjs

在转发器中,我显示一些记录,其中包含一些数据,输入字段和每行中的span标记。当用户在输入字段中输入数值时, 我想对其进行计算并在span标记中显示结果。这将在使用ng-keyup

的按键上发生

我试过这个,但它不起作用,可能是因为我没有正确使用模型......

<div ng-repeat="bet in $ctrl.bets">
<input class="form-control input-sm" ng-model="$index" type="text" ng-keyup="$ctrl.getReturn($index)">
<span>Return: </span><span id="$index" ng-model="$index"></span>
</div>

在我的控制器中我有这个

vm.getReturn = function(index){
document.querySelector('#' + index ).html(value / 2);
}

我知道它的方法,但有人可以告诉我该怎么做? TA

1 个答案:

答案 0 :(得分:1)

您只能使用ng-model inputselect&amp;特殊引导组件,不是span元素。您可以使用ng-bind单向绑定值。

其他事情是不要与$index一起玩,这是添加&amp;由ng-repeat指令本身管理。我要在bet内添加新属性(bets的每个元素)。

<强>标记

<div ng-repeat="bet in $ctrl.bets">
  <input class="form-control input-sm" ng-model="bet.myValue" type="text" ng-keyup="$ctrl.getReturn(bet.myValue)">
  <span>Return: </span><span id="$index" ng-bind="vm.getReturn(bet.myValue)"></span>
</div>

相应地管理getReturn函数中的计算。

vm.getReturn = function(val) {
   return (val > 0 ? (val / 2): 0);
}