Angular配置中的多个函数

sam*_*207 10 config angularjs

我正在研究我的第一个Angular项目,目前仍在坚持(再次).

我的问题是我有两个需要在Angular配置中实现的功能.

我无法理解的是,两个模块都使用<angular module>.config,我不知道如何将这两个结合起来,因为当我阅读Angular文档时,它似乎得到了一个名称和一个函数.

以下是我目前的代码(这两个单独的工作)

var myApp = angular.module('myApp', ['ui.router'])
    .config(function($stateProvider, $urlRouterProvider){
        $urlRouterProvider.otherwise("/state1");
        $stateProvider
          .state('state1',{
            url: 'state1',
            templateUrl: "../pages/form.html"
          });
          $locationProvider.html5Mode(false);
    });



myApp = angular.module('myApp', ['facebook'])

    .config([
        'FacebookProvider',
        function(FacebookProvider) {
            var myAppId = '<FB app id>';
            FacebookProvider.init(myAppId);}

    ]
)
Run Code Online (Sandbox Code Playgroud)

如何将这两个功能合并为一个

var myApp = angular.module('myApp', ['facebook','ui.router']).config(
     facebook functon and ui-route function
 ) 
Run Code Online (Sandbox Code Playgroud)

我在这里发现了几乎相同的SO问题,但遗憾的是没有答案.

And*_*i R 30

或者,您可以链接配置以保持隔离状态

var myApp = angular.module('myApp', ['ui.router','facebook'])
    .config(function($stateProvider, $urlRouterProvider){
       ... state provider config ...
    })
    .config(function(FacebookProvider){
       ... facebook provider config ...
    });
Run Code Online (Sandbox Code Playgroud)

或者你可以像这样分开它们

var myApp = angular.module('myApp', ['ui.router','facebook']);

myApp.config(function($stateProvider, $urlRouterProvider){
  ...
});

myApp.config(function(FacebookProvider){
  ...
});
Run Code Online (Sandbox Code Playgroud)

  • 我更喜欢这种解决方案,因为您可以将逻辑分成多个文件. (5认同)

Wor*_*red 9

var myApp = angular.module('myApp', ['ui.router','facebook'])
    .config(function($stateProvider, $urlRouterProvider, FacebookProvider){
        $urlRouterProvider.otherwise("/state1");
        $stateProvider
          .state('state1',{
            url: 'state1',
            templateUrl: "../pages/form.html"
          });
          $locationProvider.html5Mode(false);

        var myAppId = '<FB app id>';
            FacebookProvider.init(myAppId);
    });
Run Code Online (Sandbox Code Playgroud)

那是你要的吗?