用途:在 Phoenix 应用中用 HEEx(HTML+EEx)模板渲染动态 HTML,编写视图模块、函数组件与布局,组织可复用界面逻辑。
主要能力:HEEx 提供编译期校验与自动转义;视图模块用 embed_templates "目录/*" 加载模板并为每个 .html.heex 生成函数;用 <%= ... %> 插值、@ 访问 assigns,支持 if/else、unless、case 及 for 循环与 :for 简写;函数组件用 attr 声明属性、~H 定义模板,以 <.name /> 调用,支持默认值、多种类型与 assign/2 计算值;slot 与具名 slot 实现内容组合,可用 render_slot 渲染;支持 render 子模板、跨模块调用组件、布局(含 @inner_content 与 Layouts.app)、关闭布局,以及与 LiveView 集成(Phoenix.View.render、live_render、组件内嵌组件)。测试可用 render_to_string/4 与 rendered_to_string 验证渲染与组件。
使用方式:在视图模块中 use 对应 Web 模块并 embed_templates;控制器把 assigns 传给模板;组件用 attr 声明属性后用 ~H 编写;模板内使用 ~p 生成已校验路由。
适用场景:动态 HTML、列表与表格、卡片/仪表盘、表单校验反馈、flash 提示、导航与分页、嵌套布局与组件。
限制与建议:复杂业务逻辑应放在 context,避免模板内堆逻辑;使用 raw/1 需自行确保安全;保持属性声明、语义化 HTML 与组件化,避免深层嵌套与硬编码;不要用 EEx 替代 HEEx 以免失去编译期校验。具体命令与更多细节详见资料,未提供的性能或平台信息暂未提供。