Javascript 将模块注入控制器AngularJs
我有两个AngularJs模块,一个是我的应用程序,另一个是常量列表。我想将常量模块注入我的应用程序模块,并在控制器中使用常量。我已经能够在工厂内实现这一点,但我无法访问控制器内的常量 应用程序模块:Javascript 将模块注入控制器AngularJs,javascript,angularjs,dependency-injection,Javascript,Angularjs,Dependency Injection,我有两个AngularJs模块,一个是我的应用程序,另一个是常量列表。我想将常量模块注入我的应用程序模块,并在控制器中使用常量。我已经能够在工厂内实现这一点,但我无法访问控制器内的常量 应用程序模块: (function() { 'use strict'; angular.module('myapp', [ 'constants', 'ngMaterial', 'ngCordova',
(function() {
'use strict';
angular.module('myapp', [
'constants',
'ngMaterial',
'ngCordova',
'ngStorage',
'relativeDate',
'ui.router',
'myapp.services.myservice'
])
常数模块:
angular.module('constants', [])
.constant('appName', 'mynewapp');
在我的工厂中,我可以访问我的常量:
(function() {
'use strict';
angular.module('myapp.services.myservice', [])
.factory('Myservice', function ($http, appName) {
console.log(appName); //works great!
我无法访问常数的控制器
(function() {
'use strict';
angular.module('myapp')
.controller('MyController', [
'$cordovaOauth',
'$state',
'$rootScope',
'Myservice',
MyController
]);
function MyController($cordovaOauth, $state, $rootScope, Myservice, appName ) {
console.log(appName); //undefined
您忘记为
appName
常量声明依赖项注入令牌:
.controller('MyController', [
'$cordovaOauth',
'$state',
'$rootScope',
'Myservice',
'appName', // <---- don't forget me
MyController
]);
.controller('MyController'[
“$Cordovoauth”,
“$state”,
“$rootScope”,
“我的服务”,
“appName”,//不要忘记批准好的答案,尤其是当它显然是正确的答案,而其他人也无法做出更好的答案时。