一尘不染

如何在AngularJS中与另一个控制器共享$ 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
});

我将如何完成?


阅读 211

收藏
2020-07-04

共1个答案

一尘不染

您可以使用Angular Service在多个控制器之间共享变量。

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";        
}
2020-07-04