在 phoenix 模板中渲染 space 时出现问题

Problem rendering a space inside a phoenix template

我在尝试使用 Phoenix Live View 构建基本聊天时发现了一个奇怪的行为。可能是我对 Phoenix 模板的了解不够...

尝试将 CSS class 动态分配给组件时,使用 <%= if _, do: _, else: _ =>:

<div class=<%= if msg.user == @user, do: "msg local-user", else: "msg other-user" %>>

问题是这是呈现给 <div class"msg" local-user""> 而不是 <div class="msg local-user">

您需要在 HTML 中使用双引号(即 EEx 语法的 外部 ),如下所示:

<div class="<%= if msg.user == @user, do: "msg local-user", else: "msg other-user" %>">