当我将配置更改为工厂

时间:2017-07-05 12:46:47

标签: angularjs angular-ui-router

如果我使用" config"而不是" factory",依赖注入在生产中不起作用(在heroku上)。所以我把它改成工厂,现在stateProvider没有工作。

.factory('AboutService', AboutService);

AboutService.$inject = ['$stateProvider'];

function AboutService($stateProvider) {
  $stateProvider
  .state('about', {
    url: '/about',
    template: '<about></about>'
  });
}

1 个答案:

答案 0 :(得分:1)

configfactory不可互换,不能盲目交换。

正确的方法是

.config(AboutService);

AboutService.$inject = ['$stateProvider'];

function AboutService($stateProvider) {
  $stateProvider
  .state('about', {
    url: '/about',
    template: '<about></about>'
  });
}

configAboutService函数只有1个参数。上面的代码与环境无关。