2016-07-20 34 views
0
import { Component } from 'angular2/core'; 

import { Router } from 'angular2/router';  

import { RouteConfig } from 'angular2/router'; 

import { ROUTER_DIRECTIVES } from 'angular2/router'; 

import { LandingComponent } from './landing.component';  

@RouteConfig([  

    {path: '/landing', name: 'Landing', component: LandingComponent}, 

    {path: '/*other', name: 'Other', redirectTo: ['Landing']}  

])   

@Component({  

    selector: 'cwf',  

    templateUrl: 'app/template/index.template.html', 

    directives: [ROUTER_DIRECTIVES]  

})  

export class AppComponent {  

    constructor(private _router:Router){ 

    }  

    browserObject = BrowserDetect; 

    navigator = navigator.javaEnabled() ? "enabled" : "disabled"; 

    listBrowser = BrowserDetect.supportedBrowser;  

    ngOnInit(){  

    let timer = Observable.timer(2000); 

    timer.subscribe(this.navigate); 

    };  

    navigate =() => { 

    this._router.navigate(['Landing']); 

    };  

} 

// Landing...  

import { Component } from 'angular2/core'; 

@Component({ 

    selector: 'landing', 

    templateUrl: 'app/template/landing.template.html' 

}); 

export class LandingComponent { 


} 
+0

爲什麼我過得好的setTimeout導航「上LandingComponent沒有找到指令註釋」。請給我建議 –

回答

0

@Component(...); /* <<<=== */ export class LandingComponent { }的末尾有一個多餘的;。裝飾者和他們正在裝飾的班級之間必須沒有;

由於還回答了在https://stackoverflow.com/a/38454820/217408

1

我認爲,這是因爲你的@Component裝飾爲LandingComponent課後權在你的代碼;

import { Component } from 'angular2/core'; 

@Component({ 
    selector: 'landing', 
    templateUrl: 'app/template/landing.template.html' 
}); // <----- 
export class LandingComponent { 

} 

刪除它應該解決您的問題...