假设我有一个预定义的模块/ Controller ,它将苹果设置为绿色。
var _core = angular.module('_core', []);
_core.controller('mainController', function($scope, $controller, $http) {
$scope.apple = 'green';
});
我可以把苹果放在 Controller 外面吗?类似的东西。
_core.mainController.apple
这可能吗?我还需要使用外部插件设置变量,抱歉我是一个完全 Angular 菜鸟,这有点令人畏惧。
最佳答案
如果您希望 Controller 外部可以访问该值,则可以将其存储在 $rootScope
中而不是 $scope
中,并且可以直接使用存储在$rootScope 可注入(inject)的地方。所以代码就变成了:
var _core = angular.module('_core', []);
_core.controller('mainController', function($scope, $controller, $http, $rootScope) {
$rootScope.apple = 'green';
});
现在在其他地方比如工厂,您可以将其用作:
var _core1 = angular.module('_core1', []);
_core1.factory('someFactory', function($scope, $rootScope, $http) {
var fruit = $rootScope.apple;
//variable fruit now contains green
});
关于javascript - 如何获取/设置 Controller /模块之外的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31261107/