Wie erstellen Sie einen link zu externe URL in Eckige 2
Ich bin neu in Eckig. Ich bin beginnend mit ver. 2.
Ich brauche einen link zu einem file://...
URL.
Ich habe versucht normal href
:
Hinweis: app
ist ein model-Objekt der Bahn, die sich mit Anwendungen.
<a target="_blank" href="file://{{app.outputPath}}/index.html">no link here</a>.
Nicht funktioniert - der link ist da, mit der richtigen URL, sondern Eckig scheint zu blockieren, die Veranstaltung irgendwie. Warum?
So, die ich gesehen habe ng-href
aber das ist für Winkel-1.x. Und es gibt keine *ngHref
was ich sagen kann. So das war nur ein naiver Versuch:
<a target="_blank" *ngHref="file://{{app.outputPath}}/index.html">over a directive</a>.
Ich habe auch etwas gesehen mit routing, aber das scheint bestimmt nur für internen links innerhalb der Anwendung:
<a [router-link]="['/staticReport', {path: app.outputPath}]">see the report</a>.
app.component.ts:
@RouteConfig([
...
{path:"/staticReport/:path", redirectTo: 'file:// ???? ' }
])
Was ist der Weg erstellen Sie einen externen link?
- Haben Sie geprüft, wie die URL aussieht, die generiert wird, in den DOM? (contexte Menü auf den link "element Untersuchen"). Eigentlich "
app
ist ein model-Objekt der Bahn, die sich mit Anwendungen" nicht viel.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich gehe davon aus
app
zugeordnet ist async. Sie können umgehen dies mithilfe der Elvis-operator:nicht brechen die Bindung, wenn Winkel versucht es zu lösen, bevor
app
tatsächlich einen Wert hat.Original
Dies funktionierte zum Beispiel:
Plunker
Eigentlich dein erstes Beispiel funktioniert auch gut
Plunker
href
Wert ist auch ok. Was zu geschehen scheint, ist, dass Angular2 irgendwie verwirft das klicken auf diesen link.file://
zuhttp://
der link funktioniert gut. Mitfile://
- und Fehlermeldung auf der Konsole ausgegeben (Nicht erlaubt zu laden, auf lokale Ressourcen: file://www.google.com/index.html). Ich sehe nicht, nichts falsch mit dem link in Angular2.http://
URL, die IMHO nicht machen es so Aussehen, Eckige stört mit solchen links.docs.angularjs.org
link - sorry. Nein, Angular2 funktioniert anders. Die Bindungen wie{{}}
behoben werden, bevor die Komponente wird Hinzugefügt, um den DOM, also der browser bekommt nie{{}}
. Wenn Sie AoT-Kompilierung, diese Bindungen gelöst werden, noch bevor etwas in den browser geladen.