У меня есть один контроллер, который отображает контрольный список и сохраняет выбор в массиве.
Мой другой контроллер запускает $http.get
в массиве с первого контроллера.
Как установить $watch
, чтобы при каждом изменении массива отправлялся новый HTTP-запрос GET?
Моя попытка: http://plnkr.co/edit/EaCbnKrBQdEe4Nhppdfa
// See plnkr for other controller + FooSelection factory + view
function SimpleQueryResCtrl($scope, $http, FooSelection) {
$scope.foo_list_selection = FooSelection;
$scope.$watch('foo_list_selection', function (newValue, oldValue) {
if (newValue !== oldValue)
$http.get('/api/' + $scope.foo_list_selection).success(function (largeLoad) {
$scope.myData = largeLoad;
});
});
}
SimpleQueryResCtrl.$inject = ['$scope', '$http', 'FooSelection'];
input
на тег флажка, он терпит неудачу. - person Foo Stack   schedule 02.06.2013true
в качестве третьего параметра к$watch
похоже работает (как уже предлагал @sh0ber). Я использовал$timeout
вместо$http
для имитации активности сервера: рабочий плункер. - person Mark Rajcok   schedule 03.06.2013