一:插值
(1)文本
<span>Message: {{ msg }}</span>
可以使用v-once指令執行一次性的插值,當數據變化時,插值處內容不會更新,請留心,這樣會影響到該節點上所有的數據綁定
<span v-once>This will never change: {{ msg }}</span>
(2)純HTML
<div v-html="rawHtml"></div>
你的站點上動態渲染的任意 HTML 可能會非常危險,因為它很容易導致 XSS 攻擊。請只對可信內容使用 HTML 插值,絕不要對用戶提供的內容插值。
(3)屬性
{{}}---不能在html屬性中使用,應使用v-bind(簡寫::XXX),
<div v-bind:id="dynamicId"></div>
這對布爾值的屬性也有效 —— 如果條件被求值為 false 的話該屬性會被移除:
<button v-bind:disabled="someDynamicCondition">Button</button>
二:指令:指令的職責就是當其表達式的值改變時相應地將某些行為應用到 DOM 上
(1)參數v-bind v-on
(2)修飾符:用于指出一個指令應該以特殊方式綁定
.prevent 修飾符告訴 v-on 指令對于觸發的事件調用 event.preventDefault():
三:過濾器:過濾器可以用在兩個地方:mustache 插值和 v-bind 表達式
{{ message | capitalize}}
<div v-bind:id="rawId | formatId"></div>
*** Vue 2.x 中,過濾器只能在 mustache 綁定和 v-bind 表達式(從 2.1.0 開始支持)中使用,因為過濾器設計目的就是用于文本轉換。為了在其他指令中實現更復雜的數據變換,你應該使用計算屬性。
過濾器還可以串聯
{{ message | filterA | filterB }}
過濾器是JavaScript函數,因此可以接受參數
{{ message | filterA('arg1',arg2)}}
new Vue({
// ...
filters: {
capitalize: function (value) {
if (!value) return ''
value = value.toString()
return value.charAt(0).toUpperCase() + value.slice(1)
}
}
})
四:縮寫
v-bind:href="url" ---- :href="url"
v-on:click="clickSome" --- @click="clickSome"