首页 文章

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

提问于
浏览
0

我有两个控制器,即 AControllerBController .

我需要将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;
});

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

注意:不要传递AController的值 . 我需要一个解决方法如何获取 . 请帮助我 .


我的帖子 How to get Values from Other AngularJs Controller $scope variableGlobal variables in AngularJS之间的区别

The Content of the Post is

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

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

Explanation : How my Post Differ from the said Post

请注意句子“ Value changed in another controller when a user logs ”,这意味着假设控制器B试图通过 Broadcast 将值传递给控制器A来设置 $scope.myName .

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

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

1 回答

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

相关问题