Как передать переменную $scope одного контроллера другому в AngularJS?
У меня есть это:
app.controller('foo1', function ($scope) {
$scope.bar = 'foo';
});
app.controller('foo2', function ($scope) {
// want to access the $scope of foo1 here, to access bar
});
Как бы это сделать?
Ответ 1
Вы можете использовать службу Angular для обмена переменной через несколько контроллеров.
angular.module('myApp', [])
.service('User', function () {
return {};
})
Для обмена данными между независимыми контроллерами можно использовать Службы. Создайте службу с моделью данных, которая должна использоваться совместно. Внесите сервис в соответствующие контроллеры.
Вы можете использовать $emit/$broadcast для перевода изменений данных из одной области контроллера в другую. Или просто сохраните эти переменные на $rootScope.
Ответ 3
app.controller('foo2', function ($scope) {
$scope.$$prevSibling.bar="bar"
});