Как вы $ просматриваете ввод в ng-repeat отдельно и добавляете результат к определенной строке в угловых js?
У меня есть два поля ввода b_price и s_price внутри ng-repeat. Мне нужно следить за изменениями в этих двух моделях и добавлять оценки. Мой фрагмент кода: HTML
<body ng-app="testthis" ng-controller="testCtrl">
<table>
<tr ng-repeat="list in testList.lists track by $index">
<td>{{list.symbol}}</td>
<td>{{list.todays_rate}}</td>
<td><input type="text" ng-model="testList.b_price"></td>
<td><input type="text" ng-model="testList.s_price"></td>
<td>{{estimated}}</td>
</tr>
</table>
</body>
JS
var app = angular.module('testthis', []);
app.controller('testCtrl', function($scope, $http) {
$scope.testList ={};
$scope.testList.lists = [{id: 1,symbol: "assas", total: 123},
{id: 2,symbol: "as", total: 103}];
for (var i=0; i<$scope.testList.lists.length; i++){
$scope.estimated =0;
$scope.$watch('testList.b_price + testList.s_price', function() {
console.log('watch');
if ($scope.testList.b_price){
console.log('as');
$scope.testList.s_price = "";
$scope.estimated = 100 - $scope.testList.b_price;
}else if ($scope.testList.s_price){
$scope.testList.b_price = "";
$scope.estimated = $scope.testList.s_price - 100;
}
});
}
});
Когда я ввожу значение во входной тег первой строки, я получаю его повторение при вводе второй строки. Это можно исправить с помощью ng-model="testList.b_price[$index]". Но я не могу посмотреть это значение, т.е. $scope.testList.b_price[0], $scope.testList.b_price[i] выдает ошибку внутри $watch. Еще одна проблема, я не могу добавить оценочный, оцененный [0], оценочный [2]. Фиддл: https://jsfiddle.net/sanj9090/b07jkstj/