如何从其他 AngularJs 控制器 $scope 变量获取值
How to get Values from Other AngularJs Controller $scope variable
我有两个控制器,即 AController 和 BController。
我需要获取控制器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: ''
}
});
我有两个控制器,即 AController 和 BController。
我需要获取控制器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: ''
}
});