2017-09-20 26 views
7

Jak mogę przekierować do zewnętrznego adresu URL? Próbowałem już z modułem Navigation, ale wygląda na to, że działa on tylko na trasach lokalnych. Czy istnieje sposób, aby to zrobić natywnie, bez portów js?Wiąz lang przekierować na zewnętrzny URL

tj. window.location.href = http://google.com;

Edytuj: Ja jakoś ominąłem funkcję Navigation.load. Jak sugerowano poniżej, pomoże to w przekierowaniach.

Odpowiedz

7

Ponieważ tag a może być zawsze używany z podanym href, wolę spróbować znaleźć rozwiązanie, które pozwoli uniknąć użycia przekierowania z funkcji update.

a [ href "http://google.com" ] [ text "Google link" ] 

Ale w przypadku, gdy jest to konieczne do realizacji logikę podobną do window.location.href = "http://google.com";, elm-lang/navigation zapewnia load funkcję (i kilka innych użytecznych dla zmuszając strona wczytuje), który robi, co czekasz.

Zajmuje URL i zwraca polecenie load : String -> Cmd msg, tak to będzie wyglądać następująco:

update : Msg -> Model -> (Model, Cmd Msg) 
update msg model = 
    case msg of 
     RedirectToGoogle -> 
      (model, load "http://google.com") 
+0

Dziękuję za odpowiedź. Muszę przekierować, gdy back-end wykona zadanie, więc tag nie jest odpowiedni. Ale Navigation.load wykonał zadanie! Jakoś mi to umknęło :(Miłego dnia! – Ilya

Powiązane problemy