我试图使用嵌套赋值,但无法找到更新其值的方法,…想象一下我有这个:
def mount(socket) do
socket = assign(socket, state: [value1: "20", value2: "50"])
{:ok, socket}
end如何更新这里的值?
def handle_event("dec", _params, socket) do
socket = assign(socket, state[:value1], "1")
{:noreply, socket}
end如何引用/表示嵌套键?
发布于 2021-01-22 09:41:33
Kernel.update_in/3是你在这里的朋友。
state = [value1: "20", value2: "50"]
update_in state, [:value1], & &1 <> "updated"
#⇒ [value1: "20updated", value2: "50"]Sidenote:这个问题与菲尼克斯-框架无关。
https://stackoverflow.com/questions/65842391
复制相似问题