Nicht alle Routen
Meine Komponente zeigt sich, aber ich bekomme eine Fehlermeldung, wenn die Seite geladen wird. Ich kann nicht scheinen, um zu lösen die Fehlermeldung überhaupt nach einem Blick auf ein Bündel von Ressourcen.
Fehler
EXCEPTION: Error: Uncaught (in promise): Cannot match any routes. Current segment: 'index.html'. Available routes: ['/login'].
main.Komponente.ts ist in index.html und sobald die Seite geladen wird, zeigt es die oben genannten Fehlermeldung.
import { Component } from '@angular/core';
import { Routes, ROUTER_DIRECTIVES, ROUTER_PROVIDERS } from '@angular/router';
import { LoginComponent } from './login/login.component';
@Component({
selector: 'main-component',
template:
' <header>
<h1>Budget Calculator</h1>
<a id='login' [routerLink]="['/login']">Login</a>
<router-outlet></router-outlet>
</header> '
directives: [ROUTER_DIRECTIVES],
providers: [ROUTER_PROVIDERS]
})
@Routes([
{path: '/login', component: LoginComponent}
])
export class MainComponent {}
login.Komponente.ts weitergeleitet wird über den main.Komponente.ts und nicht zeigen, wenn ich auf den link Klick trotz der Fehlermeldung. Jetzt habe ich es gestylt popup über die anderen Elemente in main.Komponente, sondern möchte, dass es die einzige Komponente ist, zeigt auf der Seite. Im Grunde ersetzen Sie die Haupt -.Komponente in index.html mit der Anmeldung.Komponente, wenn das mögliche tun, anstatt eine ganze Reihe von styling auf display: none.
import { Component } from '@angular/core';
@Component({
selector: 'login',
template:
' <div id="login-pop-up">
<h6 class="header_title">Login</h6>
<div class="login-body">
Some fancy login stuff goes here
</div>
</div> '
})
export class LoginComponent {}
InformationsquelleAutor Grim | 2016-06-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Außerdem sicherstellen, dass Sie eine
<base href="/">
- tag am Anfang des<head>
- tag oder durchboostrap(...)
wie in Winkel 2 router keine base href gesetzt/
Sie vielleicht brauchen, um die app zu navigieren, um eine erste route zwingend wie erklärt Angular2 router (@Winkel/router), how to set default route?Hinweis: Die
@angular/router
router ist auch veraltet als@angular/router-deprecated
und einen neuen router versandt werden wieder aus :-/Wenn Sie im Begriff sind zu wechseln@angular/router
es ist wahrscheinlich besser, zu verschieben, bis die neuen und hoffentlich endgültigen-router verfügbar ist.Nein, aber ich vermute, es hat ganz hohe Priorität. Dies führte zu einiger Aufruhr. Eine neue RC wird bald ausgeliefert. Lassen Sie uns abwarten und sehen, wenn Sie einen neuen router aufgenommen werden.
Könnten Sie den link zu der Diskussion über die neue-nicht-veraltet-router?
Der neue router ist Teil von RC.3. Der Router docs zu eckig.io sind bereits für diesen neuen router.
angular.io/docs/ts/latest/tutorial/toh-pt5.html wollte Nur der post einen direkten link....
InformationsquelleAutor Günter Zöchbauer
Wenn ich dieses problem hatte habe ich in der Regel hinzufügen
den
<head> <base href="./"> </head>
html-Datei.Dann beim importieren alle Dateien in NG2
Dies ist der bevorzugte Weg, dies zu tun-base pro die Dokumentation,
InformationsquelleAutor wuno
wenn Sie untergeordnete Komponente ist, und Sie möchten, um zu navigieren, nutzen Sie diesen Weg
router servive
verwenden, navigieren ([]) - Methode auf diese Weise
Komponente Konstruktor
dies ist, wie dieser._router kommt
InformationsquelleAutor S.D.N Chanaka Fernando
plz stellen Sie sicher
<base href="/">
tag in Ihrem Kopf-Tags, und Sie könnenuseAsDefault: true
attr wie diese :useAsDefault
im@angular/router
:-/warum??? 😐 Im mit von dieser attr
Soweit ich weiß, das ist noch nicht implementiert in
@angular/router
- und nicht, weil es wird wieder ersetzt. Indem es nicht zu einem Fehler, aber es hat keine Wirkung. Vielleicht bist du mit@angular/router-deprecated
?Der Unterschied ist, dass die beiden veraltet sind ;-).
@angular/router
ist eine völlig neue Implementierung, die beabsichtigt war, zu ersetzen@angular/router-deprecated
aber es hat nicht ganz funktioniert weder und Sie Missbilligte es auch.@angular/router
hat mehrere Probleme und fehlende features. Derzeit ist es besser, zu bleiben mit@angular/router-deprecated
bis der neue neue der neue router geliefert wird und stabil genug.tnxx für die Antwort ^-^
InformationsquelleAutor Alireza Valizade
fügen Sie einfach eine route für " die Ausnahme gehen.
* sollte auch so funktionieren, wie es wird jedem Pfad entsprechen nicht nur der home-Pfad
ich habe es versucht, es funktioniert nicht. Sie geben an,'**'
InformationsquelleAutor Sancho George