Angularjs - 同一模块中的两个配置函数

时间:2015-10-14 03:36:05

标签: angularjs

我在模块中配置了我的路由并且它工作得很好,但我也尝试添加一个加载指示器,它将拦截任何http请求并放置加载图像,但它不起作用。这是我的模块:

var myApp = angular.module('myApp', ['ngRoute', 'angular-loading-bar', 'ngAnimate', 'ui.bootstrap']);
myApp.config(["$routeProvider", "$locationProvider",
 function ($routeProvider, $locationProvider) {
     $routeProvider
         .when("/", {
             templateUrl: "/pages/home.html"             
         })
         .when("/currency", {
             templateUrl: "/app/series/currencySearch.html",
             controller: "currencyController"
         })
         .when("/others", {
             templateUrl: "/app/series/genericSearch.html",
             controller: "genericController"
         })
         .otherwise({
             redirectTo: "/"
         });
     $locationProvider.html5Mode(false);
 }]);

    myApp.config(['cfpLoadingBarProvider', function (cfpLoadingBarProvider) {
    cfpLoadingBarProvider.spinnerTemplate = '<div style="margin:20% 0 0 50%;"><span class="fa fa-spinner fa-pulse fa-3x"></div>';
}]);

这种方式可以使用两个配置功能吗?

非常感谢!

1 个答案:

答案 0 :(得分:0)

我不明白为什么不。它会一个接一个地运行它们。

这样,如果你愿意,你可以为每个$ provider对象编写一个单独的配置方法。

问题是,为什么它必须有两个配置?它应该可以作为一种配置方法正常工作。

myApp.config(["$routeProvider", "$locationProvider", "cfpLoadingBarProvider",
 function ($routeProvider, $locationProvider, cfpLoadingBarProvider) {
     $routeProvider
         .when("/", {
             templateUrl: "/pages/home.html"             
         })
         .when("/currency", {
             templateUrl: "/app/series/currencySearch.html",
             controller: "currencyController"
         })
         .when("/others", {
             templateUrl: "/app/series/genericSearch.html",
             controller: "genericController"
         })
         .otherwise({
             redirectTo: "/"
         });
     $locationProvider.html5Mode(false);
     cfpLoadingBarProvider.spinnerTemplate = '<div style="margin:20% 0 0 50%;"><span class="fa fa-spinner fa-pulse fa-3x"></div>';
 }]);