这是我的代码:
<table ng-init="liveTotal={}">
<tr ng-repeat="x in sovCtrl.topics" >
<td> {{x}}</td>
<td><input ng-model="sovCtrl.objects[x]" type="number"></td>
<td ng-hide="true">
<input ng-model="liveTotal[$index]" type="number" value="{{sovCtrl.objects[x]}}">
</td>
</tr>
</table>
<div > Current Result:
{{ 0 + liveTotal[0] + liveTotal[1] + liveTotal[2] + liveTotal[3] + liveTotal[4]}}
</div>
我尝试做的是在没有使用$ scope或任何额外的sovCtrl方法/对象或添加脚本的情况下,得到所有Inputted主题值之和的实时结果(永远不会超过5) ; 主题是我无法预测的字符串。
当我输入第一个输入时,第二个输入改变,但div中的结果不是。 只有当我输入或按下第二个输入(如果我使其可见)时,div的结果才会改变
可以使用angular完成,但只修改上面的HTML吗?
编辑:sovCtrl.objects被传递到绘制值的函数中。修改密钥会破坏这些功能。
答案 0 :(得分:1)
为什么不直接做以下所示的事情 其中你直接使用第一个输入 您只需添加一个索引(在任何变量的ng-repeat中提供),现在您可以使用索引0,1,2,3,4
访问值numeric(0)
答案 1 :(得分:0)
知道了,这很有效。
<table ng-init="liveTotal={}">
<tr ng-repeat="x in sovCtrl.topics" >
<td> {{x}}</td>
<td><input ng-model="sovCtrl.objects[x]" type="number"></td>
<td ng-show="false"> {{ liveTotal[$index]= sovCtrl.shareOfVoice[x]}}</td>
</tr>
</table>
<div > Current Result:
{{ 0 + liveTotal[0] + liveTotal[1] + liveTotal[2] + liveTotal[3] + liveTotal[4]}}
</div>