View Source Surface.LiveView (Surface v0.12.0)
A wrapper component around Phoenix.LiveView
.
Since this module is just a wrapper around Phoenix.LiveView
, you
cannot define custom properties for it. Only :id
and :session
are available. However, built-in directives like :for
and :if
can be used normally.
Example
defmodule Example do
use Surface.LiveView
def render(assigns) do
~F"""
<Dialog title="Alert" id="dialog">
This <b>Dialog</b> is a stateful component. Cool!
</Dialog>
<Button click="show_dialog">Click to open the dialog</Button>
"""
end
def handle_event("show_dialog", _, socket) do
Dialog.show("dialog")
{:noreply, socket}
end
end