javascript - v-show 能夠隱藏但不能顯示
問題描述
在試v-show屬性,當設為false的時候會添加行內樣式display:none,
但是設置true的時候,不會添加display:block;求解。。。
<!DOCTYPE html><html lang='en'><head> <title></title> <meta charset='UTF-8'> <meta name='viewport' content='width=device-width, initial-scale=1'> <style>p { width: 400px; height: 400px; border: 1px solid #000; display: none;} </style></head><body> <p v-show='true'></p> <script type='text/javascript' src='http://m.cgvv.com.cn/wenda/vue.js'></script> <script>new Vue({ el: '#vue', }) </script></body></html>
問題解答
回答1:你把樣式里的display:none 去掉。。。。v-show 本身就可以設置顯示和隱藏的。
回答2:因為你css代碼里面
display:none
v-show只會在hide的時候添加
display:none;
而顯示的時候會去除
display:none;
不會添加
display:block;回答3:
v-show的原理是通過是否添加display:none控制顯隱的,跟傳統意義jquery的hide和show不同。
回答4:設置為true時不需要是 display:block 同樣也是能顯示的
回答5:看源碼里
你這問的有問題v-show本來就是控制顯示跟隱藏的給它一個值 控制顯示跟隱藏不就好了
<ul v-show='show'><li @click='change($event)'>哈哈哈</li><li @click='change($event)'>啦啦啦</li><li @click='change($event)'>嘻嘻嘻</li> </ul>
data(){ return{ items:[’1111’,’2222’,’3333’],show:true }},回答7:
display是根據你的便簽屬性來的,如果是塊級元素如p,p,h標簽,默認的就是display: block;如果是span等默認就是display:inline。所以隱藏的時候就是display:none,顯示的時候去掉display:none就是它的默認屬性
相關文章:
