Vue 模板语法

13 阅读1分钟

Vue 使用基于 HTML 的模板语法,允许以声明方式将渲染的 DOM 绑定到底层组件实例的数据。所有 Vue 模板都是语法有效的 HTML,可由符合规范的浏览器和 HTML 解析器进行解析。

在底层,Vue 将模板编译为高度优化的 JavaScript 代码。结合响应式系统,Vue 可以智能地找出需要重新渲染的最少组件数量,并在应用程序状态发生变化时应用最少的 DOM 操作。

文本插值

数据绑定的最基本形式是使用“Mustache”语法(双花括号)进行文本插值:

<span>Message: {{ msg }}</span>

mustache 标签将被替换为相应组件实例msg的属性值。每当属性发生变化时,它也将被更新。msg

原始 HTML

双括号将数据解释为纯文本,而不是 HTML。为了输出真正的 HTML,您需要使用v-html指令

<p>Using text interpolation: {{ rawHtml }}</p> 
<p>Using v-html directive: <span v-html="rawHtml"></span></p>

使用文本插值:这应该是红色。

使用 v-html 指令:这应该是红色的。

v-html看到的属性称为指令。指令以 为前缀,表示它们是 Vue 提供的特殊属性,可能已经猜到了,它们将特殊的反应行为应用于渲染的 DOM。在这里,基本上是在说“让此元素的内部 HTML 与当前活动实例上的属性v-保持同步。 ”rawHtml

的内容span将被替换为属性的值rawHtml,并解释为纯 HTML - 数据绑定将被忽略。请注意,不能使用它v-html来编写模板部分,因为 Vue 不是基于字符串的模板引擎。相反,组件是 UI 重用和组合的基本单元。