文本
- <span>Message: {{ msg }}</span>
在data中对msg定义即可,或是在methods中方法对其重定义this.msg='xxx'
无论何时,绑定的数据对象上 msg 属性发生了改变,插值处的内容都会更新。
通过使用 v-once 指令,你也能执行一次性地插值,当数据改变时,插值处的内容不会更新。但请留心这会影响到该节点上所有的数据绑定:
- <span v-once>这个将不会改变: {{ msg }}</span>
原始HTML
双大括号会将数据解释为普通文本,而非 HTML 代码。为了输出真正的 HTML ,你需要使用 v-html 指令:
- <div v-html="rawHtml"></div>
这个 div 的内容将会被替换成为属性值 rawHtml,直接作为 HTML —— 会忽略解析属性值中的数据绑定。注意,你不能使用 v-html 来复合局部模板,因为 Vue 不是基于字符串的模板引擎。反之,对于用户界面 (UI),组件更适合作为可重用和可组合的基本单位。
你的站点上动态渲染的任意 HTML 可能会非常危险,因为它很容易导致 XSS 攻击。请只对可信内容使用 HTML 插值,绝不要对用户提供的内容使用插值。
特性
mustache 语法不能作用在 HTML 特性上,遇到这种情况应该使用 v-bind 指令:
- <div v-bind:id="dynamicId"></div>
这同样适用于布尔类特性,如果求值结果是 falsy 的值 (译者注:falsy 不是 false,参考这里),则该特性将会被删除:
- <button v-bind:disabled="isButtonDisabled">Button</button>
指令
- <p v-if="seen">现在你看到我了</p>
这里,v-if 指令将根据表达式 seen 的值的真假来插入/移除 <p> 元素。
参数
一些指令能够接收一个“参数”,在指令名称之后以冒号表示。例如,v-bind 指令可以用于响应式地更新 HTML 属性:
- <a v-bind:href="url"></a>
在这里 href 是参数,告知 v-bind 指令将该元素的 href 属性与表达式 url 的值绑定。
另一个例子是 v-on 指令,它用于监听 DOM 事件:
- <a v-on:click="doSomething">
在这里参数是监听的事件名。
v:bind缩写
- <!-- 完整语法 -->
- <a v-bind:href="url"></a>
- <!-- 缩写 -->
- <a :href="url"></a>
v:on缩写
- <!-- 完整语法 -->
- <a v-on:click="doSomething"></a>
- <!-- 缩写 -->
- <a @click="doSomething"></a>