列表迴圈渲染
v-if
與v-show
控制渲染的機制的區別當它們的引數值是true
時,毫無疑問對應的元件便是展示的:
data()
},template: `
luelueluelielielie
bye bye!!!
` });
效果:
當它們的引數值是false
時,v-if
通過直接暴力去除
對應dom元件的形式 「隱藏」元件,
而v-show
則通過style="display: none;"
樣式的配置 隱藏元件:data()
v-if
與v-show
各自的適用場景
基於以上的隱藏元件的機制,
頻率較低地隱藏元件的場景,兩者都差不多,
不想占用過多dom資源的話,可以考慮使用v-if
;v-show
適用於頻率較高的隱藏元件的場景;
v-if
與v-else
的配合 控制渲染
上例程:
data()
},template: `
luelueluelielielie
if text
else text
bye bye!!!
` });
首先,注意v-if
與v-else
兩個指令修飾的兩個元件
一定要是成對出現的,放在一起前後兩行銜接的,
不然容易出錯或報錯;
接著,v-if
與v-else
兩個指令修飾的兩個元件,
同一時間只會出現乙個,
由v-if
指定繫結的字段,v-else
不需要指定;
欄位為true
時,v-if
修飾的元件顯示,
欄位為false
時,v-else
修飾的元件顯示:
v-if
、v-else-if
與v-else
的配合 控制渲染
即如普通程式設計的邏輯,v-if
繫結欄位為true時候,只顯示v-if
修飾的元件,
否則,v-else-if
繫結欄位為true時候,只顯示v-else-if
修飾的元件,
再否則,
只顯示v-else
修飾的元件;
列表迴圈渲染
v-for
例程(陣列方式):
data()
},template: `
} --- }
` });
v-for
例程(object方式 --- 注意引數順序!!!):data() }},
注意使用key值
優化v-for
的效能
當使用v-for
做迴圈渲染,盡量加乙個每一項都唯一的key值
,
這樣下次新增元素的時候,vue底層
發現 其key值
在資料更新前後
都沒變的dom項
,
就會直接復用
這個dom項
,而不用重建
這個dom項
,
達到優化效能
的目的;
data() }},
template: `
} --- }
` });
通過陣列的變更函式 更新渲染列表ui
本質其實就是借助 原生js陣列的 api對資料進行更新,
再借助vue
的資料與ui
的雙向繫結特性
,
完成對ui的更新渲染
:
data() }},
methods: ,
handledeletebtnclick() ,
handleshiftbtnclick() ,
handleunshiftbtnclick() ,
handlesplicebtnclick() ,
handleunsortbtnclick() ,
handlereversebtnclick()
},template: `
} --- }
在末尾新增節點
刪除末尾節點
刪除開頭的節點
在開頭新增節點
插入或替換部分的節點
排序節點
反轉節點
` });
效果圖如下,
這裡由於功能比較繁多而簡單,就不做詳細操作了:
Vue教程5 條件與列表渲染
之前我們說過 v if命令接收true false後會對乙個元素進行顯示與否,但是當我們需要對多個元素進行切換時,我們就需要多個v if了。因此vue就提出了v else v else if。假設我們一共三個元素,利用template標籤。這樣就可以利用a不同的值來切換三種不同的元素。當 v if ...
vue系列課程3 條件渲染
單一檢視 v if show 我是if為true看到的p v else 我是if為false看到的p div template export default script 多檢視 v if show 我是if為true看到的span 哈哈哈a 是span p v else 我是if為false看到的...
Vue 模板渲染 條件渲染 列表渲染
當獲取到後端資料後,我們會把它按照一定的規則載入到寫好的模板中,輸出成在瀏覽器中顯示的 html,這個過程就稱之為渲染。而 vue.js 是在前端 即瀏覽器內 進行的模板 渲染。1.前後端渲染對比 前端渲染 的優勢 是在瀏覽器裡利用 js 把資料和 html 模板進行組合,業務分離,後端只需要提供資...