文本与属性
TIP
文本插值可以使用 ${...} 或 {{ ... }}。新项目推荐在宏组件里使用 ${...},因为它直接引用当前 TypeScript 作用域。
ts
const name = useRef("Elf");
export const Hello = defineHtml(` <p>Hello ${name}</p> `);属性绑定
ts
defineHtml(`<button :disabled=${disabled}>保存</button>`);布尔属性在值为 false、null、undefined 时会移除。
Property 绑定
需要设置 DOM property 时使用 .prop:
ts
defineHtml(`<input .value=${value} />`);TIP
复杂对象建议走 property,而不是 attribute。
Attribute 与 Property
:title=${title} 写入 HTML attribute,浏览器看到的是字符串;.value=${value} 直接写 DOM property,保留对象、数组、函数和布尔值的真实类型。普通字符串、ARIA 属性和 data-* 优先 attribute;表单当前值、复杂 props 与对象数据优先 property。
文本安全
普通文本绑定会写入 textContent。需要插入 HTML 时使用 v-html,并自行保证内容可信。
