2015-05-15 1 views
5

Я использую новый Угловая маршрутизатор для 1.4 и он выдает мне ошибку при выполнении простой контроллер для компонента:Не удалось создать экземпляр контроллера Угловое нового маршрутизатора

angular.module('app.campaigns',['security', 'ngNewRouter']) 
    .controller('CampaignsController', ['authService', '$rootScope', CampaignsController]); 


function CampaignsController (authService, $rootScope) { 
    console.log ('this is campaigns controller'); 
    this.currentUser = $rootScope.authService.currentUser; 
    this.authService = $rootScope.authService; 
    this.logout = authService.logout; 
} 

Я попытался без инъекционного $ rootScope и то же самое. Что я делаю не так? Очень похожий компонент работает как шарм, но это не так.

+1

вы можете включить ошибку в этом вопросе? –

ответ

0

вот последний пример нового маршрутизатора, используемого с угловым 1.5, для 1.4 вы не сможете использовать компонент() Я думаю, если вы не добавите его самостоятельно, это всего лишь оболочка вокруг директивы.

Вы должны использовать angular_1_router.js, построенный из проекта angular2, вместо установки пакета углового-new-router (до его обновления) в нижнем примере они используют угловое значение 1.5 и фиксируют его так, что вы можете использовать компоненты() и дочерние маршруты и т.д.

проверка ссылка на полный рабочий пример: http://plnkr.co/edit/N3YP3dKMuljpZ6mWsVBT?p=preview

app.js

angular.module('app', ['ngComponentRouter', 'dialog', 'heroes', 'crisis-center']) 

.config(function($locationProvider) { 
    $locationProvider.html5Mode(true); 
}) 

.run(function($router) { 
    $router.config([ 
    { path: '/...', name: 'App', component: 'app', useAsDefault: true } 
    ]); 
    $router.navigate(['App']); 
}) 

.component('app', { 
    template: 
    '<nav>\n' + 
    ' <a ng-link="[\'CrisisCenter\']">Crisis Center</a>\n' + 
    ' <a ng-link="[\'Heroes\']">Heroes</a>\n' + 
    '</nav>\n' + 
    '<ng-outlet></ng-outlet>\n', 
    $routeConfig: [ 
    {path: '/crisis-center/...', name: 'CrisisCenter', component: 'crisisCenter', useAsDefault: true}, 
    {path: '/heroes/...', name: 'Heroes', component: 'heroes'}, 
    {path: '/disaster', name: 'Asteroid', redirectTo: ['CrisisCenter', 'CrisisDetail', {id:3}]} 
    ] 
}); 
+0

Это похоже на хороший ответ, но он может иметь ограниченную ценность, поскольку вопрос был опубликован 9 месяцев назад. – Claies

+1

@Claies к оригинальному плакату, может быть, но любому, кто пытается новый маршрутизатор, теперь он может сэкономить дни, которые мне пришлось потратить на решение различных проблем вокруг него. –

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