在安装过程中使用LiveView将值从客户端传递到Phoenix服务器

问题描述 投票:-1回答:1

我正在尝试将值从浏览器(例如localstorage)传递到服务器,并在挂载leex和创建UI视图时使其可用。仅尝试以下操作以获得以下所示的消息。

<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"
elixir phoenix phoenix-live-view
1个回答
0
投票

get_connect_params/1似乎是根据此问题页面(https://github.com/phoenixframework/phoenix_live_view/issues/204)进行操作的方式。也是socket参数,而不是params在下面查找变量。

<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"])  
© www.soinside.com 2019 - 2024. All rights reserved.