Я Перебор результирующего набора и динамически создавая модельные значения, такие как:Angularjs динамически создавать модели
angular.forEach(users, function(user) {
$scope.usersModels.online[user.id] = 0;
$scope.usersModels.online[user.id]['checked'] = 'checked';
$scope.$watch('usersModels.online[user.id]', function(val) {
console.log(val);
});
});
Я также пытаюсь следить за изменением этих моделей и получить значение. Это не работает, однако, какие-то идеи, что не так?
Спасибо!
EDIT:
angular.forEach(users, function(user) {
$scope.usersModels.online[user.id] = {};
$scope.usersModels.online[user.id]['value'] = 0;
$scope.usersModels.online[user.id]['checked'] = 'checked';
$scope.$watch(function() {
return $scope.usersModels.online[user.id]['value'];
}, function(val) {
console.log(val);
});
});
попробуйте удалить '' из $ watch – Ketan
ИЛИ $ scope. $ Watch ('userModels.online.' + User.id, ...}); – Ketan
или использовать функцию в качестве первого аргумента для $ watch. $ scope. $ Watch (function() {return $ scope.usersModels.online [user.id]},/* обработчик * /) – Artem