Это мой код:
<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>
То, что я пытаюсь сделать, - получить результат итогов всех значений вложенных тем (их никогда не будет больше 5) без использования $ scope или любых дополнительных методов/объектов sovCtrl или добавления скрипта; Темы - это строки, которые я не могу предсказать.
2-й вход CHANGES при вводе в первый вход, но результат в div нет. Результат в div изменяется только тогда, когда я набираю или нажимаю на второй вход (если я делаю его видимым)
Можно ли это сделать, используя угловой, но изменяя только вышеописанный HTML?
Изменение: sovCtrl.objects передается в функции, которые отображают значения. Изменение ключей приведет к нарушению этих функций.
Получил это, это работает.
<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>
Почему бы вам прямо не сделать что-то вроде показанного ниже, в котором вы непосредственно используете первый вход. Вы просто добавляете индекс (который предоставляется в ng-repeat любой переменной), и теперь вы можете получить доступ к значениям с помощью индекса 0,1,2, 3,4
<table ng-init="liveTotal={}">
<tr ng-repeat="(i,x) in sovCtrl.topics" >
<td> {{x}}</td>
<td><input ng-model="sovCtrl.objects[x]" ng-change="sovCtrl.objects_yo[i]=sovCtrl.objects[x]" type="number"></td>
</tr>
</table>
<div> Current Result:
{{ 0 + sovCtrl.objects_yo[0] + sovCtrl.objects_yo[1] + sovCtrl.objects_yo[2] + sovCtrl.objects_yo[3] + sovCtrl.objects_yo[4]}}
</div>