我使用"angular2": "2.0.0-beta.15"
(與"typescript": "^1.8.10",
)和AppComponent
是隻是工作作爲我的外殼主要成分和處理導航導航:無法使用router.nagivate在angular2
import {Component} from 'angular2/core';
import { RouteConfig, ROUTER_DIRECTIVES, ROUTER_PROVIDERS } from 'angular2/router';
import {LoginComponent} from "./login/login.component";
import {RegisterComponent} from "./registration/register.component";
@Component({
selector: 'my-app',
template: '<router-outlet></router-outlet>',
directives: [ROUTER_DIRECTIVES],
providers: [ROUTER_PROVIDERS]
})
@RouteConfig([
{
path: '/login',
name: 'Login',
component: LoginComponent,
useAsDefault: true
},
{
path: '/register',
name: 'Register',
component: RegisterComponent
}
])
export class AppComponent {
}
兩個LoginComponent
和RegisterComponent
具有指向相互導航。
這是我正在試圖導航:
@Component({
...
})
export class LoginComponent implements OnInit{
constructor(private _router: Router) {
}
ngOnInit() {
// some stuffs
}
goToRegister(){
this._router.navigate(['Register']); //also tried this._router.navigate(['/Register']);
}
}
而且類似:
@Component({
...
})
export class RegisterComponent implements OnInit{
constructor(private _router: Router) {
}
ngOnInit() {
// some stuffs
}
goToLogin(){
this._router.navigate(['Login']); // also tried this._router.navigate(['/Login']);
}
}
但是,當我試圖導航,片刻的URL更改,然後應用重載本身到相同的頁面/組件。控制檯中沒有顯示錯誤。
只是提示 - 刪除'ROUTER_PROVIDERS',並在引導你的應用程序的時候。 –
如果僅將其添加到根組件上,則可以,但不要將其添加到其他組件。如果將它添加到'bootstrap()'中,請不要將它添加到任何組件。 –
我已將它添加到「AppComponent」中。只是嘗試將它移動到'bootstrap(AppComponent,[ROUTER_PROVIDERS]);'仍然是相同的行爲。 –