Vue小记(第三天)

模板语法

数据绑定最常见的形式就是使用“Mustache”语法(双大括号)的文本插值:

<p>{{message}}</p>

通过v-once指令执行一次性插值,当数据改变时,插值处的数据不会更新。需要注意,这个指令也会影响到该节点上的其他数据绑定。

v-once的用法:

<p v-once>这个值不会变化:{{message}}</p>

Mustache语法只会将数据解释为普通文本,为了输出真正的html代码,需要使用v-html指令。

<p>{{testHtml}}</p>
<p v-html="testHtml"></p>
new Vue({
     el:'#vue'
     data:{
        testHtml:'<span style="color:red">red</span>'
    }
})

结果:

Mustache语法不能作用在html属性上,应该使用v-bind指令:

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

在html属性是布尔值时,指令的存在默认为true:

<button v-bind:disabled="tof">点击</button>

"tof"的值如果是null、undefined,那么这个属性不会被渲染到节点中。官网中说如果值是“false”也不会渲染属性,但是实际测试了一下,是会渲染的,但是默认true

 

使用javascript表达式

 

对于数据的绑定,Vue.js提供了完全的javascript表达式支持。

{{number+1}}
//支持三元表达式
{{ok?'yes':'no'}}
//单个表达式
{{message.reverse()}}

有个限制就是,每个绑定都只能包含单个表达式,所以下面的例子都不会生效。

<!-- 这是语句,不是表达式 -->
{{ var a = 1 }}

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

修饰符

修饰符用半角句号 . 指明特殊后缀,用于指出一个指令应该以特殊方式绑定,例如,.prevent 修饰符告诉 v-on 指令对于触发的事件调用 event.preventDefault()

<form v-on:submit.prevent="onSubmit">...</form>

缩写

v-bind缩写为‘:’

<!-- 完整语法 -->
<a v-bind:href="url">...</a>

<!-- 缩写 -->
<a :href="url">...</a>

v-on缩写为‘@’

<!-- 完整语法 -->
<a v-on:click="doSomething">...</a>

<!-- 缩写 -->
<a @click="doSomething">...</a>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章