Elm语言重定向到外部URL

11

如何重定向到外部网址?我已经尝试使用Navigation模块,但似乎只适用于本地路由。有没有一种本地方法可以实现,而不需要JS端口?

例如:window.location.href = http://google.com;

编辑:我不知道Navigation.load函数的存在。如下建议,它可以帮助进行重定向。

1个回答

14

由于 a 标签总是可以使用指定的 href,因此我更愿意尝试找到一种解决方案,避免在 update 函数中使用重定向。

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

但是如果需要实现类似于window.location.href = "http://google.com";的逻辑,elm-lang/navigation提供了load函数(以及其他几个有用的强制页面加载的函数),它会执行您所期望的操作。

它接受一个URL并返回一个命令load:String -> Cmd msg,因此看起来像这样:

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

感谢您的回答。我需要在后端完成任务后重定向,所以标签不合适。但是 Navigation.load 做到了!我不知道为什么错过了它 :( 祝您有美好的一天! - Ilya

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接