Vue學習筆記(2)模板的使用

通過上一次的學習我們瞭解了Vue實例的生命週期以及創建了一個實例並且綁定在dom上的一個元素上了,接下來我們將要學習模板

在之前的學習中,我們通過對生命週期的學習,直到在mounted之後會存在這麼一種狀態,當data出現改變的時候,虛擬dom會重新渲染,這就是Vue吸引人的地方,Vue能夠智能地計算出重新渲染組件的最小代價

我們要介紹的第一個東西是文本插值,先給出代碼

<html>
<head>
<title>Vue</title>
<script src="https://cdn.bootcss.com/vue/2.1.8/vue.js"></script>
</head>
<body>
<div id="app">
<h1>{{message}}</h1>
</div>
</body>
<script>
var vm=new Vue({
el:'#app',
data:{
message:'Hi Vue!'
}
})
</script>
</html>


代碼中雙大括號就是文本插值,在運行的時候就被替換成了Vue實例中的數據,這就是數據的展示,這個插值是會被更新的,如果你不想要被更新的話,你可以添加v-once在標籤內。

文本插值是將文本直接轉化爲字符串展現出來,那麼如果我想展示html形式的內容怎麼辦呢例如許多文章?你只需要使用v-html來將你所想要展示的html文本放置進去

<h1 v-html="rawhtml"></h1>


聰明的你可能會想到把文本插值放到標籤屬性中去,我們需要綁定,即v-bind

<button v-bind:disabled="someCondition"></button>


文本插值同樣使用於三元表達式,我們可以很好地利用這個特點去實現控件狀態的動態綁定。

v-bind:style=" {visibility: password==''?'hidden':'visible' }" 

上面這行表示當password等於空的時候隱藏否則顯示

我們發現Vue中有好多v-XXX這樣類型的標籤屬性,這其實被稱爲指令,v-for暫不討論,指令的預期值是單一的js表達式

例如 <a v-on:click="doit">     v-on則是監聽事件

接着就是過濾器,一般用於文本顯示之中

Vue 2.x 之中,過濾器只能在文本插值綁定和v-bind表達式中使用

{{ message | capitalize }}其中的capitalize就是過濾器

在Vue實例之中寫具體的過濾方案

new Vue({

     el:'#app',

     filters:{

      capitalize:function(value){  .....return.......}

}

})


當然這是一個function,你可以傳入多個參數例如 {{ message | filterA('arg1', arg2) }}


最後談一談縮寫,v-bind:可以寫成 :而v-on:可以寫成@

例如

<button v-bind:disabled="someCondition"></button>

可以寫成

<button  :disabled="someCondition"></button>

發佈了45 篇原創文章 · 獲贊 12 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章