私はこれを持っています:
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";
}
$ emit/$ broadcast を使用して、データの変更を1つのコントローラースコープから別のコントローラースコープに変換できます。または、これらの変数を$ rootScopeに保存します。
app.controller('foo2', function ($scope) {
$scope.$$prevSibling.bar="bar"
});