2016-03-11 2 views
3

я пытаюсь добиться чего-то вроде этого:AngularJS: множественные рассасывается в ui.router

$stateProvider.state('app', { 
     url: "/app", 
     templateUrl: "assets/views/app.html", 
     resolve: { 
      authorize: ['authorization', 
       function(authorization) { 
        return authorization.authorize(); 
       } 
      ], 
      loadSequence: loadSequence('chartjs', 'chart.js', 'chatCtrl') 
     }, 
     abstract: true 

разрешающего «авторизовать» затем функцию «LoadSequence», но ошибка я получаю в заблуждении, и я не могу понять как это сделать должным образом:

Error: ng:areq Bad Argument Argument 'fn' is not a function, got Object

С уважением.

+0

Вы исправились? Могли ли вы ввести авторизацию в контроллер? У меня такая же проблема. –

ответ

2

Я думаю, что вам нужно обернуть второй пункт в resolve в функции, как вы сделали первый:

$stateProvider.state('app', { 
    url: "/app", 
    templateUrl: "assets/views/app.html", 
    resolve: { 
     authorize: ['authorization', 
      function(authorization) { 
       return authorization.authorize(); 
      } 
     ], 
     loadSequence: function(){ 
      return loadSequence('chartjs', 'chart.js', 'chatCtrl'); 
     } 
    }, 
    abstract: true 

Кроме того, если loadSequence не возвращает обещание, это необходимо.

Смежные вопросы