如何在angular config中注入外部工厂提供程序?

时间:2015-11-28 07:57:28

标签: angularjs

我试图从另一个js文件中注入工厂提供程序,但它无法找到提供程序。如果不能做到这一点,那么更好的方法是什么?

demo.config.js

function configState($stateProvider, $urlRouterProvider, $compileProvider, demoProvider) {

    // Optimize load start with remove binding information inside the DOM element
    $compileProvider.debugInfoEnabled(true);

    // Set default state
    $urlRouterProvider.otherwise("/dashboard");
    $stateProvider

        // Dashboard - Main page
        .state('dashboard', {
            url: "/dashboard",
            templateUrl: "views/dashboard.html",
            data: {
                pageTitle: 'Dashboard',
            }
        })
}

angular
    .module('demoApp')
    .config(configState)
    .run(function($rootScope, $state) {
        $rootScope.$state = $state;
    });

demo.provider.js

(function () {
    'use strict';

    angular
        .module('demoApp')
        .provider('demo', function() {
            return {
                $get: function() { 
                    return {
                        title: "Starcraft"
                    }
                }
            }
        });

})();

1 个答案:

答案 0 :(得分:0)

我总是把自己的提供者放到控制器上。就像在我的指令中一样

(function() {
    'use strict';

    angular.module('yourMod').directive('yourViewPage', yourViewPage);


    angular.module('yourMod').controller('YourViewPageCtrl', YourViewPageCtrl);


    function YourViewPageCtrl(YourProvider) {
        //your code!!!
        // Example YourProvider.getSomeThing();
        console.log('My life for Aiur!!!');
    }

})();