vue教程:模板语法

文本:

通过使用 v-once 指令,你也能执行一次性地插值,当数据改变时,插值处的内容不会更新。但请留心这会影响到该节点上的其它数据绑定:

var obj = {
    foo: 'bar',
    rawHtml: '<span style="color:red">This is should be red!</span>'
}

let vm = new Vue({
    el: '#app',
    data: obj
})
<p v-once>{{foo}}</p>

 原始 HTML:

双大括号会将数据解释为普通文本,而非 HTML 代码。为了输出真正的 HTML,你需要使用 v-html 指令:

var obj = {
    foo: 'bar',
    rawHtml: '<span style="color:red">This is should be red!</span>'
}

let vm = new Vue({
    el: '#app',
    data: obj
})
<p v-html="rawHtml"></p>

 这个 span 的内容将会被替换成为属性值 rawHtml,直接作为 HTML——会忽略解析属性值中的数据绑定。注意,你不能使用 v-html 来复合局部模板,因为 Vue 不是基于字符串的模板引擎。反之,对于用户界面 (UI),组件更适合作为可重用和可组合的基本单位。

特性:

Mustache 语法不能作用在 HTML 特性上,遇到这种情况应该使用 v-bind 指令:

<div v-bind:id="dynamicId"></div>

使用 JavaScript 表达式:

实际上,对于所有的数据绑定,Vue.js 都提供了完全的 JavaScript 表达式支持。有个限制就是,每个绑定都只能包含单个表达式

{{ number + 1 }}

{{ ok ? 'YES' : 'NO' }}

{{ message.split('').reverse().join('') }}

<div v-bind:id="'list-' + id"></div>
<!-- 这是语句,不是表达式 -->
{{ var a = 1 }}

<!-- 流控制也不会生效,请使用三元表达式 -->
{{ if (ok) { return message } }}

 指令:

指令必须添加在一个元素上,指令特性的值预期是单个 JavaScript 表达式 (v-for 是例外情况)

扫描二维码关注公众号,回复: 5299711 查看本文章
<p v-if="seen">现在你看到我了</p>

另外,指令可以绑定属性:

<a v-bind:href="url">...</a>

猜你喜欢

转载自blog.csdn.net/duansamve/article/details/87115107