Vue.js 中的 v-show


一、 用法

v-show 指令通過改變元素的 css 屬性(display)來決定元素是顯示還是隱藏。

html:

<div id="app">
  <p v-show="type==='科技'">大數據之下的錦鯉:為什么你的微博總抽不到獎</p>
</div>

JS:

<script>
  var app = new Vue({
    el: '#app',
    data: {
      type:'技術'
    }
  });
</script>

渲染后代碼:

<p style="display: none;">大數據之下的錦鯉:為什么你的微博總抽不到獎</p>

 因為元素樣式被設置為 display: none; ,所以元素就被隱藏啦 。

 

二、 與 v-if 比較

v-show 指令的功能與 v-if 指令相似。不過 v-if 指令會根據表達式重建或銷毀元素或組件以及它們所綁定的事件。v-show 指令只是簡單地設置 css 屬性。

因為 v-if 指令開銷較大,所以更適合條件不經常改變的場景。而 v-show 指令適合條件頻繁切換的場景。

下面看下vue指令之v-show的用法

1、判斷元素是否顯示或隱藏

<el-button v-show="list.power == 1" @click="toUpload" class="toUpload" type="primary">
去上傳<i class="el-icon-upload el-icon--right">
</i>
</el-button>

通過接口里的參數list.power是否等於1,如果等於1,則為“true”,否則為“false”,然后v-show指令,等於true的時候顯示,false的時候隱藏。

2、三目運算符判斷

<a class="warn" v-show="true ? item.ai != null : item.ai == null" :href="'http://172.168.80.149:14081/gateway/upload/upload/downloadFile?url='+item.urlai" rel="external nofollow" rel="external nofollow" >AI</a>

簡化為:

<a class="warn" v-show="!item.ai == null" :href="'http://172.168.80.149:14081/gateway/upload/upload/downloadFile?url='+item.urlai" rel="external nofollow" rel="external nofollow" >AI</a>

 

 

三、總結

  • v-show指令的作用是:根據真假值切換元素的顯示狀態
  • 原理是修改元素的的CSS屬性(display)來決定實現顯示還是隱藏
  • 指令后面的內容最終都會解析為布爾值
  • 值為真(true)的時候元素顯示,值為假(false)的時候元素隱藏
  • 數據改變之后呢對應的元素的顯示狀態也是會同步更新的

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM