2016-06-02 9 views
0

Ich versuche, eine dynamische URL zu haben, die den Benutzer auf eine externe Website mit AngularJS führt. Der Link führt den Benutzer jedoch zu einer Route auf meiner Seite, wenn er angeklickt wird.Kann nicht zu externen URLs entweder mit href oder ng-href gehen

Zum Beispiel, wenn meine URL "mysite.com" ist, und mein Link ist "google.com". Wenn ich unter Verwendung von href oder ng-href auf diesen Link klicke, komme ich auf eine nicht vorhandene Route auf meiner Website: "mysite.com/google.com"

Wie kann ich zu externen URLs navigieren?

Eine Probe von meinem Code:

<a href="{{ linkItem.link }}" target="_blank">View file</a> 

Während linkItem.link ist "google.com". Dies funktioniert nicht wie erwartet für jede Webseite, selbst für diejenigen, die hart codierte href-Attribute haben.

Antwort

2

Das Problem wird dadurch verursacht, dass kein Protokoll (z. B. http:// oder https://) in der URL vorangestellt ist. Es gibt zwei Möglichkeiten, es zu beheben:

  1. erfordern den Benutzer zur Eingabe einer gültigen URL mit http:// oder https:// am Anfang.

  2. Erstellen Sie einen Filter oder eine Direktive, die das Präfix hinzufügt, wenn es fehlt.

+2

Ich würde hinzufügen, dass dies nichts mit Angular zu tun hat. So hat das Attribut 'href' seit über 20 Jahren funktioniert. –