如何从其他AngularJs Controller获取值$ scope变量

时间:2016-02-18 12:46:35

标签: angularjs angularjs-scope fetch angularjs-controller assign

我有两个控制器,即 AController BController

我需要将Controller AController 的$ scope.myName的值传递给Controller BController 的$ scope.myName。

  

注意:这里我没有传递值,我正在尝试获取值。

我的示例AngularJS脚本

var app = angular.module("DemoProject", ['ngRoute', 'ngAnimate', 'ngMessages', 'ngMaterial']);

app.controller('AController', function ($scope, $location, $rootScope, $document, $window) {
    $scope.myName = 'Bala';
});

app.controller('BController', function ($scope, $location, $rootScope, $document, $window) {
    $scope.myName = AController.$scope.myName;
});

广播和其他功能用于传递值。我认为不是为了获取价值观。请帮助我。

  

注意:请勿传递值 AController 。我需要一个解决方案   获取。请帮助我。

我的帖子之间的差异如何从其他AngularJs控制器获取值$ scope变量Global variables in AngularJS

帖子的内容

我有一个问题,我正在控制器中的范围初始化变量。然后在用户登录时在另一个控制器中进行更改。此变量用于控制导航栏等内容,并根据用户类型限制对站点部分的访问,因此保持其值非常重要。它的问题是初始化它的控制器,通过角度再次调用,然后将变量重置为其初始值。

我认为这不是声明和初始化全局变量的正确方法,而且它不是真正的全局变量,所以我的问题是什么是正确的方法,是否有任何关于使用当前版本的角度工作的好例子? / p>

说明:我的帖子与帖子的不同之处

请注意“当用户登录时,另一个控制器中的值已更改”,这意味着假设控制器B尝试通过广播将值传递给控制器​​A设置$scope.myName

在这里,我的要求是如何从BController中的AController获取值或如何获取$ scope.myName的值。

首先了解帖子,然后将其标记为重复。

1 个答案:

答案 0 :(得分:3)

使用此类服务​​

 var app = angular.module("DemoProject", ['ngRoute', 'ngAnimate', 'ngMessages', 'ngMaterial']);

 app.controller('AController', function ($scope, $location, $rootScope, $document, $window, myService) {
    $scope.myName = myService.myName;
    myService.myName = "Bala";

});

 app.controller('BController', function ($scope, $location, $rootScope, $document, $window, myService) {
    $scope.myName = myService.myName;

});

 app.factory('myService', function() {
    return {
      myName: ''
    }
});