Live_helpers 实时取景应用中的功能使用 "live_beats" by chrismccord
Live_helpers function usage in liveview app "live_beats" by chrismccord
lib/live_beats_web/views/layout_view.ex
中有函数sidebar_account_dropdown/1
def sidebar_account_dropdown(assigns) do
~H"""
<.dropdown id={@id}>
<:img src={@current_user.avatar_url}/>
<:title><%= @current_user.name %></:title>
<:subtitle>@<%= @current_user.username %></:subtitle>
<:link navigate={profile_path(@current_user)}>View Profile</:link>
<:link navigate={Routes.settings_path(Endpoint, :edit)}>Settings</:link>
<:link href={Routes.o_auth_callback_path(Endpoint, :sign_out)} method={:delete}>Sign out</:link>
</.dropdown>
"""
end
并且在其模板部分下拉函数中来自 lib/live_beats_web/live/live_helpers.ex
def dropdown(assigns) do
assigns =
assigns
|> assign_new(:img, fn -> nil end)
|> assign_new(:title, fn -> nil end)
|> assign_new(:subtitle, fn -> nil end)
~H"""
<!-- User account dropdown -->
<div class="px-3 mt-6 relative inline-block text-left">
just not to elongate things I cutted the long dropdown function
dropdown/1
我想知道 html 标签是如何被原子替换的。
它是否用作为 :img、:title、:subtitle 等赋值的一种方式,这些赋值存在于我们的赋值中,如 nil 或其他。
我很想清楚地理解这一点
lib/live_beats_web/views/layout_view.ex
中有函数sidebar_account_dropdown/1def sidebar_account_dropdown(assigns) do
~H"""
<.dropdown id={@id}>
<:img src={@current_user.avatar_url}/>
<:title><%= @current_user.name %></:title>
<:subtitle>@<%= @current_user.username %></:subtitle>
<:link navigate={profile_path(@current_user)}>View Profile</:link>
<:link navigate={Routes.settings_path(Endpoint, :edit)}>Settings</:link>
<:link href={Routes.o_auth_callback_path(Endpoint, :sign_out)} method={:delete}>Sign out</:link>
</.dropdown>
"""
end
并且在其模板部分下拉函数中来自 lib/live_beats_web/live/live_helpers.ex
def dropdown(assigns) do
assigns =
assigns
|> assign_new(:img, fn -> nil end)
|> assign_new(:title, fn -> nil end)
|> assign_new(:subtitle, fn -> nil end)
~H"""
<!-- User account dropdown -->
<div class="px-3 mt-6 relative inline-block text-left">
just not to elongate things I cutted the long dropdown function dropdown/1
我想知道 html 标签是如何被原子替换的。 它是否用作为 :img、:title、:subtitle 等赋值的一种方式,这些赋值存在于我们的赋值中,如 nil 或其他。 我很想清楚地理解这一点