Vue - 指令
阿新 • • 發佈:2018-06-10
isp 分享 prop else 示例 hello v-for 聲明 技術分享
v-text & v-html
瞬間一目了然
<div id="app"> <p v-text="hello"></p> <p v-html="hello"></p> </div> <script> new Vue({ el: '#app', data: { hello: '<p>hello world ! ! </p>' } }) </script>
v-bind
動態地綁定一個或多個特性,或一個組件 prop 到表達式。
示例:
<!-- 綁定一個屬性 --> <img v-bind:src="imageSrc"> <!-- 縮寫 --> <img :src="imageSrc"> <!-- 內聯字符串拼接 --> <img :src="'/path/to/images/' + fileName"> <!-- class 綁定 --> <div :class="{ red: isRed }"></div> <div :class="[classA, classB]"></div> <div :class="[classA, { classB: isB, classC: isC }]"> <!-- style 綁定 --> <div :style="{ fontSize: size + 'px' }"></div> <div :style="[styleObjectA, styleObjectB]"></div> <!-- 綁定一個有屬性的對象 --> <div v-bind="{ id: someProp, 'other-attr': otherProp }"></div> <!-- 通過 prop 修飾符綁定 DOM 屬性 --> <div v-bind:text-content.prop="text"></div> <!-- prop 綁定。“prop”必須在 my-component 中聲明。--> <my-component :prop="someThing"></my-component> <!-- 通過 $props 將父組件的 props 一起傳給子組件 --> <child-component v-bind="$props"></child-component> <!-- XLink --> <svg><a :xlink:special="foo"></a></svg>
v-model
實現數據的創建和雙向綁定。
- 點擊穿梭到另一個世界查看詳情
v-if v-show v-else v-else-if v-for
- 點擊穿梭到另一個世界查看詳情
v-on
事件監聽器
- 點擊穿梭到另一個世界查看詳情
v-once
只渲染元素和組件一次。隨後的重新渲染,元素/組件及其所有的子節點將被視為靜態內容並跳過。這可以用於優化更新性能。
<div id="app"> <input type="text" v-model="hello"> <div v-once>第一次綁定的值:{{hello}}</div> </ul> </div> <script> new Vue({ el: '#app', data: { hello: 'hello world' } }) </script>
v-pre
跳過這個元素和它的子元素的編譯過程。可以用來顯示原始 Mustache 標簽。跳過大量沒有指令的節點會加快編譯。
<div id="app">
<p>{{hello}}</p>
<p v-pre>{{hello}}</p>
</div>
<script>
new Vue({
el: '#app',
data: {
hello: 'hello world'
}
})
</script>
v-cloak
這個指令保持在元素上直到關聯實例結束編譯。和 CSS 規則如 [v-cloak] { display: none } 一起用時,這個指令可以隱藏未編譯的 Mustache 標簽直到實例準備完畢。
<style>
[v-cloak]{
display: none;
}
</style>
<div id="app">
<div v-cloak>{{hello}}</div>
<div>{{hello}}</div>
</ul>
</div>
<script>
setTimeout(function(){
new Vue({
el: '#app',
data: {
hello: 'hello world'
}
})
},2000)
</script>
Vue - 指令