2015-05-15 42 views
5

kontrolör Açısal yeni bir yönlendirici örneğini ve bir bileşen için basit bir kontrolör yaparken bana bir hata atar alınamadı: Ben $ rootScope enjekte etmeden denedimBen 1.4 için yeni Açısal yönlendirici kullanıyorum

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; 
} 

ve aynı. Neyi yanlış yapıyorum? Çok benzer bir bileşen cazibe gibi çalışır, ancak bu olmaz.

+1

app.js söz konusu hatayı dahil edebilir? –

cevap

0

burada açısal 1.5 ile kullanılan yeni yönlendiricinin en son örneğidir, 1.4 için bileşen kullanamayacaksınız.() Sanırım bunu kendiniz eklemediğiniz sürece, yalnızca yönerge etrafında bir sarıcıdır.

Açısal-yeni yönlendirici paketini yüklemek yerine angular2_router.js angular2 projesini (güncelleştirilinceye kadar) yüklemek yerine örnek köşeli 1.5 kullanın ve bileşenleri() ve alt öğeleri kullanabilmeniz için sabitleyin. vb tam çalışma örneğin

onay bağlantı yolları: http://plnkr.co/edit/N3YP3dKMuljpZ6mWsVBT?p=preview

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

Bu iyi bir cevap gibi gözüküyor, ancak soru 9 ay önce yayınlandığından dolayı sınırlı bir değere sahip olabilir. – Claies

+1

@Claileler, orijinal posteri olabilir, ancak şimdi yeni yönlendirici deneyen herkes için günlerce kaydedebilirim, etrafında farklı sorunları çözmek zorunda kaldım. –

İlgili konular