Javascript 我需要做什么才能访问控制器中的全局数据?
我有一个angular应用程序,定义如下,带有一些全局值:Javascript 我需要做什么才能访问控制器中的全局数据?,javascript,angularjs,ionic-framework,Javascript,Angularjs,Ionic Framework,我有一个angular应用程序,定义如下,带有一些全局值: angular.module('ionicApp', ['ionic', 'ngCordova', 'services']) .value('GlobalValues', { host : "http://localhost/", accountApi: 'MyService/api/AccountApi/' // ... other stuff like this
angular.module('ionicApp', ['ionic', 'ngCordova', 'services'])
.value('GlobalValues',
{
host : "http://localhost/",
accountApi: 'MyService/api/AccountApi/'
// ... other stuff like this
})
.run(function ($ionicPlatform) {
// etc..
})
我可以在我的用户服务
中访问全局值
,其定义如下:
angular.module('services', [])
.service('UserService', function($q, $http, $ionicLoading, GlobalValues) {
alert(GlobalValues.host); // has a value
});
但在我的CreateAdController
中,全局值
未定义:
(function() {
'use strict';
angular.module('ionicApp')
.controller('CreateAdController', ['$cordovaCamera', 'Camera', '$scope', '$http', 'GlobalValues', CreateAdController]);
function CreateAdController($cordovaCamera, $scope, $http, GlobalValues) {
alert(GlobalValues.host); // is undefined!
};
})();
要从我的CreateAdController
访问GlobalValues
中的数据,我需要做什么
(function() {
'use strict';
angular.module('ionicApp')
.controller('CreateAdController', ['$cordovaCamera', 'Camera', '$scope', '$http', 'GlobalValues']);
function CreateAdController($cordovaCamera, Camera, $scope, $http, GlobalValues) {
alert(GlobalValues.host); // is undefined!
};
})();
以上的工作我已经做了一些改动。另外,CreateAdController无需再次注入您的注入操作出错了。注入语句中有一些值太多,方法签名中有一些值太少
(function() {
'use strict';
angular.module('ionicApp')
.controller('CreateAdController', ['$cordovaCamera', 'Camera', '$scope', '$http', 'GlobalValues']);
function CreateAdController($cordovaCamera, Camera, $scope, $http, GlobalValues) {
alert(GlobalValues.host); // is undefined!
};
})();
确保遵守喷油器/功能签名顺序 注射问题。GlobalValues是第五个参数,但您只将4个参数注入控制器…插入的模块顺序和发送模块的函数不正确。根据上述代码,GlobalValues将包含$http对象。@PoyrazYilmaz是对的:)