を介してルーターから LiveView をレンダリングしたとしますlive "/awesome", AwesomeLive.Index, :index
。
さて、通常のテンプレートまたはコントローラーからレンダリングするには、 を使用する必要がありますlive_render/3
。
しかし、それはうまくいきません。cannot invoke handle_params/3 on AwesomeLive.Index because it is not mounted nor accessed through the router live/3 macro
リファクタリングのhandle_params/3
方法 内部は自動生成されたコードですphx.gen.live
@impl true
def handle_params(params, _url, socket) do
{:noreply, apply_action(socket, socket.assigns.live_action, params)}
end
の中params
で:not_mounted_at_router
編集:
handle_params/3
壊れているように見えずlive_patch/2
、JavaScript エラーをスローします。
phoenix_live_view.js:1 Uncaught TypeError: Cannot read property 'el' of null
at e.value (phoenix_live_view.js:1)
at phoenix_live_view.js:1
at e.value (phoenix_live_view.js:1)
at e.value (phoenix_live_view.js:1)
at e.value (phoenix_live_view.js:1)
at phoenix_live_view.js:1
at phoenix_live_view.js:1
at Object.callback (phoenix_live_view.js:1)
at e.value (phoenix.js:1)
at phoenix.js:1
バージョン:
- アーラン/OTP 23
- エリクサー 1.10.3
- :フェニックス、「1.5.1」
- :phoenix_live_view, "0.12.1"