繁体   English   中英

将模块注入控制器AngularJs

[英]Inject module into controller AngularJs

我有两个AngularJs模块,一个是我的应用程序,另一个是常量列表。 我想将常量模块注入我的app模块并使用控制器内的常量。 我已经能够在工厂内实现这一点,但我无法在我的控制器内访问我的常量。

app模块:

(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
]);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM