如何从其他 AngularJs 控制器 $scope 变量获取值

How to get Values from Other AngularJs Controller $scope variable

我有两个控制器,即 AControllerBController

我需要获取控制器AController的$scope.myName的值到控制器BController的$scope.myName.

Note: Here I'm not passing the value, I'm trying to fetch the values.

我的示例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;
});

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

Note: Don't pass the value form AController. I need a solution how to fetch. Kindly assist me.


我的 Post 如何从其他 AngularJs 控制器 $scope 变量Global variables in AngularJS

获取值的区别

Post的内容是

我在初始化控制器范围内的变量时遇到问题。然后,当用户登录时,它会在另一个控制器中更改。此变量用于控制诸如导航栏之类的内容,并根据用户类型限制对站点部分的访问,因此保持其值很重要。它的问题是初始化它的控制器,被 angular 以某种方式再次调用,然后将变量重置回其初始值。

我认为这不是声明和初始化全局变量的正确方法,它不是真正的全局变量,所以我的问题是什么是正确的方法,是否有任何适用于当前版本 angular?

说明:我的 Post 与上述 Post

有何不同

请看句子“Value changed in another controller when a user logs”,这意味着假设控制器 B 试图通过 Broadcast 到控制器 A 以设置 $scope.myName.

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

首先理解 post,然后将其标记为重复。

使用这样的服务

 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: ''
    }
});