ng-model可以更新另一个ng模型吗?

时间:2015-08-20 20:53:07

标签: angularjs html5

这是我的代码:

<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被传递到绘制值的函数中。修改密钥会破坏这些功能。

2 个答案:

答案 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>