LiveView:如何处理呈现的理解列表中的数据

LiveView: How to process data in a rendered comprehension list

在Phoenix中,如果需要对模板中的数据进行处理,可以将数据传递给视图处理,输出回模板。例如:

## index.html.heex
<%= for a <- @articles do %>
  <%= a.title %>
  <%= get_category(a.category_id).name %>

## article_view
def get_category(id) do
  Categories.get_article_category!(id)

但是,这与 LiveView 不同。我试图在理解中调用一个组件来处理数据:

## index.html.heex
<%= for a <- @articles do %>
  <%= a.title %>
  <%= live_component @socket, CategoryComponent, id: a.category_id %>id %>

但是现在,我不知道如何制作类别组件(handle_info?)来放置每篇文章的类别名称。

在 LiveView 中更新渲染列表中的数据的正确方法是什么?

我不能在这上面花太多时间,所以我只是使用上下文中的方法并将 LiveView 查询放在那里

# index.html.heex
<%= App.Categories.get_category!(a.category_id).name %>