I'm trying to pass a value from the browser (e.g., localstorage) to the server, and make it available as the live template (leex) is mounted and UI view is created. Tried the following only to get the message shown below.
<JS>
let liveSocket = new LiveSocket("/live", Socket, {params: {init_state: "value from localstorage"}..
<Phoenix>
def mount(params, _session, socket) do
IO.inspect(params) # this returns "not route mounted"
get_connect_params/1
appears to be the way to do it according to this issue page (https://github.com/phoenixframework/phoenix_live_view/issues/204). Also it's the socket
parameter, not params
to look for the variable under.
<JS>
let liveSocket = new LiveSocket("/live", Socket, {params: {init_state: "value from localstorage"}..
<Phoenix>
def mount(_params, _session, socket) do
IO.inspect(get_connect_params(socket)["init_state"])