Warum JavaScript zu verwenden, wenn angular bietet navigieren Methode selbst, ich weiß nicht, über es5, aber ja, ich habe in Typoskript mit router.navigate(['routeName'])
. Versuchen Sie es einfach mit dem Routing, Sie können nur die Komponente ändern, anstatt die ganze Seite zu laden.
don't forget to instantiate router in the constructor like this.
export class AppComponent implements OnInit {
constructor(private router: Router) {}
ngOnInit() {
this.router.navigate(['/yourRouteName']);
}
}
für weitere Informationen siehe hier https://angular.io/docs/ts/latest/guide/router.html
Update für ES5
app.AppComponent = ng.core
.Component({
selector: 'the-app',
template: `
<h1>App!!!</h1>
<a [routerLink]="['Login']">Login</a>
<a [routerLink]="['ABC']">ABC</a>
<router-outlet></router-outlet>
`,
directives:[
ng.router.ROUTER_DIRECTIVES
]
})
.Class({
constructor: [ng.router.Route, function(_router) {
this._router = _router; // use for navigation, etc
this._router.navigate(['RouteName']) // For navigation ot another component
}]
});
app.AppComponent = ng.router
.RouteConfig([
{ path: '/', component:app.LoginCOmponent, name:'Login' },
{ path: '/children', component:app.xyz, name:'xyz' }
])(app.AppComponent);
ich havn't dies versucht, aber höchstwahrscheinlich dieses gona Arbeit.
Ich weiß nicht, TypeScript. Ich brauche ES5-Code dafür. –
Ich bekomme diesen Fehler 'Fehler: Uncaught (in Versprechung): Kein Provider für Route! (Klasse2 -> Route) '. Scheint so, als ob du den Provider für den Router Service verpasst hast. –
haben Sie Router-Datei in der index.html und router_providers zum Zeitpunkt des bootstrapping Ihre App –