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