使用Vue?控制元素顯示隱藏的方法和區(qū)別
提示:以下是本篇文章正文內(nèi)容,下面案例可供參考
一、控制元素顯示隱藏的方法
1. v-if 和 v-else 指令
- 單獨使用 v-if,滿足條件顯示,反之隱藏
<template> <div v-if="a > 10"> Demo show </div> </template> <script> export default { data() { return { a:18 } } } </script> // 頁面顯示內(nèi)容 Demo show
- v-if 和 v-else 一起使用,滿足v-if中的條件就顯示有v-if判斷中的代碼內(nèi)容,反之則顯示 v-else中的內(nèi)容
<template> <div v-if="a > 20"> block A; </div> <div v-else> block B; </div> </template> <script> export default { data() { return { a: 18 } } } </script> // 頁面顯示內(nèi)容 block B;
2. 切換元素的CSS display屬性
- 用
v-show
指令
<template> <div v-show="a>10"> block A; </div> </template> <script> export default { data() { return { a: 18 } } } </script> // 頁面顯示內(nèi)容 block A;
- 設置元素的樣式 (
display:none
)
<template> <div class="hide"> block A; </div> </template> <style> .hide{ display: none; } </style>
3. opacity屬性
<template> <div class="hide"> block A; </div> </template> <style> .hide{ opacity: 0; } </style>
4. visibility屬性
<template> <div class="hide"> block A; </div> </template> <style> .hide{ visibility: hidden; //隱藏 visibility: visible; //顯示 } </style>
5. width和height屬性 (不建議使用)
<template> <div class="hide"> block A; </div> </template> <style> .hide{ width: 0; height: 0; overflow: hidden; //必須要有這個屬性才能隱藏 } </style>
二、區(qū)別
v-if
顯示隱藏是將dom元素整個添加或刪除
;v-show
隱藏是為該元素添加css–display:none,dom元素依舊還在
,但是不占任何的位置;opacity
是將元素的透明度設置為0
,visibility: hidden
是將元素隱藏,dom元素依舊還在,在網(wǎng)頁中該占的位置還是占著.
三. 注意事項
- 有v-if的地方不一定有v-else,有v-else同級元素中必有v-if;
- v-if和v-else配合使用必須在同一級,不能存在不同級;
// 正確示例 <div> <div v-if="a > 0"> block A; </div> <div v-else> block B; </div> </div> // 錯誤示例 <div> <div v-if="a > 0"> block A; <div v-else> block B; </div> </div> </div>
- v-if有更高的
切換消耗
; - v-show有更高的
初始渲染消耗
; - 如果需要
頻繁切換則用v-show
,反之則用v-if.
補充知識點:
vue 控制元素的顯示和隱藏
方法:
- 使用 v-if 指令,通過動態(tài)的向DOM樹內(nèi)添加或者刪除DOM元素的方式來顯示或隱藏元素;
- 使用 v-show 指令,通過設置DOM元素的display樣式屬性來控制顯隱。
v-if 指令與 v-show 指令都可以根據(jù)值動態(tài)控制DOM元素顯示隱藏,
v-if 和 v-show 屬于Vue的內(nèi)部常用的指令,指令的職責是當表達式的值改變時把某些特殊的行為應用到DOM上。
v-if 會直接刪除元素v-show 只是隱藏,只是簡單地切換元素的 CSS 屬性display。
v-show 示例:
比如想要 隱藏 下面這個 按鈕 那么給這個 div 加一個 v-show 的屬性,名字我寫的showButton,
<div v-show="showButton"> <Button>按鈕</Button> </div>
然后在 js 代碼中 設置 showButton 的默認值為 false ,就是剛啟動的時候,默認是不顯示的,
后面如果想要 顯示 這個 按鈕 ,就直接設置 showButton 為 true 就好了
到此這篇關于Vue 控制元素顯示隱藏的方法和區(qū)別的文章就介紹到這了,更多相關Vue 控制元素顯示隱藏內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Vue?使用?ElementUi?el-upload?手動上傳文件限制上傳文件類型大小同名等進行限制
個人在做文件上傳功能的時候,踩過不少的坑,特在此記錄下,本文介紹Vue使用?ElementUi?el-upload?手動上傳文件限制上傳文件類型大小同名等進行限制問題,感興趣的朋友一起看看吧2024-02-02Vue實現(xiàn)textarea固定輸入行數(shù)與添加下劃線樣式的思路詳解
這篇文章主要介紹了使用Vue實現(xiàn)textarea固定輸入行數(shù)與添加下劃線樣式的思路詳解,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-06-06vue中table多選/單選行,獲取其數(shù)據(jù)方式
這篇文章主要介紹了vue中table多選/單選行,獲取其數(shù)據(jù)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07解決VUE項目在IIS部署出現(xiàn):Uncaught SyntaxError: Unexpected&n
這篇文章介紹了解決VUE項目在IIS部署出現(xiàn):Uncaught SyntaxError: Unexpected token < 報錯的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-04-04使用Bootstrap4 + Vue2實現(xiàn)分頁查詢的示例代碼
本篇文章主要介紹了使用Bootstrap4 + Vue2實現(xiàn)分頁查詢的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-12-12