我有一個像這樣的網址/user/3
我在那裏發出一個http請求來獲取用戶信息。ELM-LANG當點擊瀏覽器後退按鈕時如何提出http請求
如果我移動到/user/6
,我將發出另一個http請求來獲取此用戶數據。
我的問題是當我點擊瀏覽器後退按鈕時,url會移回/user/3
,但它仍然是用戶6顯示的信息。
我該怎麼做?是否有可能讓我的舊模型回來?或者我必須再次提出http請求才能獲得用戶3。
我urlUpdate
看起來是這樣的:
urlUpdate : Result String Route -> Model -> (Model, Cmd Msg)
urlUpdate result model =
let
currentRoute =
Routing.routeFromResult result
in
({ model | route = currentRoute }, Cmd.none)
我有點失落,我不知道在哪裏可以做到這一點。
如果不清楚,我想「捕捉」一個事件,當用戶點擊瀏覽器後退按鈕來獲取舊的url,然後發出一個http請求來獲取這個用戶信息。
我使用elm-navigation
包。
我已經嘗試做這在我的urlUpdate
:
urlUpdate : Result String Route -> Model -> (Model, Cmd Msg)
urlUpdate result model =
let
currentRoute =
Routing.routeFromResult result
command =
case currentRoute of
Routing.HomeRoute ->
getUsers
Routing.userRoute id ->
getUser id
Routing.NotFoundRoute ->
Cmd.none
in
({ model | route = currentRoute }, command)
這是同樣的事情,我的初始化函數。它不起作用,因爲它使無限循環執行urlUpdate
哪個路由包您使用? –
我使用榆樹導航。我已經更新我的問題 – BoumTAC