日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

vue if判断_VUE学习记录2

發布時間:2024/7/23 vue 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vue if判断_VUE学习记录2 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

v-if、v-eles、v-else-if

? v-if用于條件判斷,判斷Dom元素是否顯示。

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title> </head> <body><div id="app"><h2 v-if="isFlag">isFlag為true顯示這個</h2><h2 v-show="isShow">isShow為true是顯示這個</h2><div v-if="age<18">小于18歲未成年</div><div v-else-if="age<60">大于18歲小于60歲正值壯年</div><div v-else="">大于60歲,暮年</div></div><script src="https://cdn.jsdelivr.net/npm/vue@2.6.10/dist/vue.js"></script><script>const app = new Vue({el:"#app",data:{isFlag:true,isShow:false,age:66}})</script> </body> </html>
  • 單獨使用v-if,變量為布爾值,為true才渲染Dom
  • v-show的變量也是布爾值,為true才顯示內容,類似css的display
  • v-if、v-else、v-else-if聯合使用相當于if、elseif、else,但是在條件比較多的時候建議使用計算屬性。
  • v-if的demo

    ? 在登錄網站是經常可以選擇使用賬戶名或者郵箱登錄的切換按鈕。要求點擊按鈕切換登錄方式。

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title> </head> <body><div id="app"><span v-if="isUser"><label for="username">用戶賬號</label><input type="text" id="username" placeholder="請輸入用戶名" ></span><span v-else="isUser"><label for="email">用戶郵箱</label><input type="text" id="email" placeholder="請輸入用戶郵箱" ></span><button @click="isUser=!isUser">切換類型</button></div><script src="https://cdn.jsdelivr.net/npm/vue@2.6.10/dist/vue.js"></script><script>const app = new Vue({el:"#app",data:{isUser:true}})</script> </body> </html>

    ? 使用v-if和v-else選擇渲染指定的Dom,點擊按鈕對isUser變量取反。

    這里有個小問題,如果已經輸入了賬號了,此時想切換到郵箱輸入,輸入框未自己清空。

    ? 這里需要了解一下vue底層操作,此時input輸入框值被復用了。

  • vue在進行DOM渲染是,處于性能考慮,會復用已經存在的元素,而不是每次都創建新的DOM元素。
  • 在上面demo中,Vue內部發現原來的input元素不再使用,所以直接將其映射對應虛擬DOM,用來復用。
  • 如果不希望出現類似復用問題,可以給對應的dom元素加上key值,并保證key不同。
    <input type="text" id="username" placeholder="請輸入用戶名" key="username"> <input type="text" id="email" placeholder="請輸入用戶郵箱" key="email">
  • v-show

    ? v-if看似和v-show實現一樣的效果,但是內部v-show只是用css將操作的元素隱藏顯示,而v-if是新增和刪除元素。v-show只是操作元素的style屬性display,都沒會被創建。

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title> </head> <body><div id="app"><h2 v-show="isFlag">v-show只是操作元素的style屬性display,都沒會被創建</h2><h2 v-if="isFlag">v-if是新增和刪除dom元素</h2></div><script src="https://cdn.jsdelivr.net/npm/vue@2.6.10/dist/vue.js"></script><script>const app = new Vue({el:"#app",data:{isFlag:true}})</script> </body> </html>

    總結

    以上是生活随笔為你收集整理的vue if判断_VUE学习记录2的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。