Powered by AppSignal & Oban Pro
Would you like to see your link here? Contact us

Demo

examples/demo_live.livemd

Demo

Mix.install([
  {:phoenix_playground, "~> 0.1.6"}
])

Section

defmodule DemoLive do
  use Phoenix.LiveView

  def mount(_params, _session, socket) do
    {:ok, assign(socket, count: 0)}
  end

  def render(assigns) do
    ~H"""
    <%= @count %>
    +
    -

    
      body { padding: 1em; }
      span { font-family: monospace; }
    
    """
  end

  def handle_event("inc", _params, socket) do
    {:noreply, assign(socket, count: socket.assigns.count + 1)}
  end

  def handle_event("dec", _params, socket) do
    {:noreply, assign(socket, count: socket.assigns.count - 1)}
  end
end

PhoenixPlayground.start(live: DemoLive)