Я следую за руководством по угловому стилю Джона Папы (https://github.com/johnpapa/angular-styleguide#routing) и используя пользовательскую оболочку вокруг углового ui-router, представленную в этом руководстве. Однако, оболочка не работает для меня, и я получаю ошибку циклической зависимости при закачке $ состояния:Ошибка крутильной ошибки Angular.js в обертке ui-router
Uncaught Error: [$injector:cdep] Circular dependency found: $rootScope <- $timeout <- $$rAF <- $$animateQueue <- $animate <- toastr <- logger <- $exceptionHandler <- $rootScope <- $state <- routerHelper
Я попытался инъекционным $ состояния вручную, используя $ форсунки, но это дает мне неизвестную ошибку поставщика.
Вот код:
(function() {
'use strict';
angular
.module('blocks.router')
.provider('routerHelper', routerHelperProvider);
routerHelperProvider.$inject = ['$locationProvider', '$stateProvider', '$urlRouterProvider', '$injector'];
function routerHelperProvider($locationProvider, $stateProvider, $urlRouterProvider) {
this.$get = RouterHelper;
$locationProvider.html5Mode(true);
RouterHelper.$inject = ['$state'];
function RouterHelper($state) {
var hasOtherwise = false;
var service = {
configureStates: configureStates,
getStates: getStates
};
return service;
function configureStates(states, otherwisePath) {
states.forEach(function (state) {
$stateProvider.state(state.state, state.config);
});
if (otherwisePath && !hasOtherwise) {
hasOtherwise = true;
$urlRouterProvider.otherwise(otherwisePath);
}
}
function getStates() {
return $state.get();
}
}
}
})();
столкнулся с той же проблемой при попытке использования углового тоста на шаблоне HotTowel. Отсрочка зависимости с использованием $ injection работала для меня. Как сказал @Casey, не уверен, правильно ли это. – JenonD