2016-08-03 3 views
-1

Я учусь Угловая, у меня есть простая директива, которая отображает select. На ng-change того выбора, я звоню метод в контроллере моей директивы:Угловая: Связь через контроллеры и директивы

$scope.changeSelect = function(selectedValue) { 
    exampleService.setNewValue(selectedValue) 
} 

, что сервис, который я создал, обновляет пример значения, я создал.

Кроме того, у меня есть другой контроллер и представление, которое отображает директиву. В этом представлении.

Как я могу сообщить контроллеру, что директива изменилась, и что-то сделать с данными?

+1

Серьезно, это спрашивает о 10 раз в день .... делают в Google поиске есть так много примеров. Я написал около 3 ответов на это до сих пор .... –

+1

Возможно, это правда, но люди задают вопросы по-другому и считают, что он новичок в угловой, он может и не знать, что искать. –

ответ

0

Вы хотите использовать $scope.$watch для прослушивания изменений в переменной, которую вы передаете. Проверьте https://docs.angularjs.org/api/ng/type/$rootScope.Scope, чтобы лучше понять, как часы работы

$scope.$watch('yourValue', function (oldValue, newValue) { 
    //do something 
}); 
0

Используйте нг-модель в вашем выборе входа, то этот код:

$scope.$watch('modelvalue', function(newValue, oldValue) { 
    exampleService.setNewValue(selectedValue) 
}, true); 
+0

Да, это то, как я обновляюсь в службе, моя проблема заключается в том, что контроллер знает об этом изменении – Pablo

Смежные вопросы