Ошибка углового интерфейса маршрутизатора при использовании множественного разрешения - PullRequest
0 голосов
/ 29 мая 2018

Я использую AngularJS v1.6.10 и angular-ui-router v1.0.18, что приводит к ошибке:

[$ инжектор: unpr] Неизвестный поставщик: dashboardDataProvider <- dashboardData <- dashBoardCtrl </p>

но когда я использую AngularJS v1.6.10 и angular-ui-router v0.4.2, все работает нормально.

Пример кода

$stateProvider.state('root.dashboard', {
    url: '/dashboard',
    resolve:loadSequence('dashBoardCtrl'),  
    views: {
        '': {
            templateUrl: BaseURL + '/templates/dashboard/index.html',
            controller: 'dashBoardCtrl',
            resolve: {
                dashboardData:function(dbService){
                    return dbService.getDashboardData();
                }
            },
        }
    }
})

1 Ответ

0 голосов
/ 15 июня 2018

Алексей Соловей совершенно прав.Разрыв между ui-router v0.x и v1.x - это устранение поддержки разрешения внутри вложенных представлений.Поэтому вам нужно перевести вызов на dbService out:

$stateProvider.state('root.dashboard', {
  url: '/dashboard',
  resolve: {
      dashboardData:function(dbService) {
        return dbService.getDashboardData();
      },
      // Probably wrong, because I don't understand your intention here
      other: loadSequence('dashBoardCtrl')
  },
  views: {
    '': {
      templateUrl: BaseURL + '/templates/dashboard/index.html',
      controller: 'dashBoardCtrl'
    }
  }
})

Это различие четко описано в документе UI-Router 1.0 Migration .Однако я сначала нашел эту SO-запись, поэтому застрял в этом ответе, чтобы помочь другим с плохим Google-foo.

...