vue中v-if失效原因及解決方法
一般v-if失效都是和綁定變量有關(guān),我所知道的一般有兩種
1.綁定的變量為String類型或者其他類型
就是返回的變量類型與所需要的布爾類型不匹配。
<template> <div> <div id="container" ref="container" v-if='type'></div> </div> </template> <script setup lang="ts"> const type=ref('false') </script>
就像這種,我們得到的type的值是"false"而不是false,兩者之間類型不同。如果不確定變量類型,就用typeof去打印。
2.兩個相似的組件,v-if無法就行判斷
對于兩個很相似的組件,不管自定義還是還是本身的,如果只是用v-if那可能會造成失效
<template> <div> <el-button v-if='type'></el-button> <el-button v-if='!type'></el-button> </div> </template> <script setup lang="ts"> const type=ref(false) </script>
就像這樣的,但是我們可以通過添加key值去區(qū)分。
<template> <div> <el-button v-if='type' key=1></el-button> <el-button v-if='!type' key=2></el-button> </div> </template> <script setup lang="ts"> const type=ref(false) </script>
這樣就可以生效了。
到此這篇關(guān)于vue中v-if失效原因及解決方法的文章就介紹到這了,更多相關(guān)vue v-if失效內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue項目element-ui級聯(lián)選擇器el-cascader回顯的問題及解決
這篇文章主要介紹了vue項目element-ui級聯(lián)選擇器el-cascader回顯的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07Vue監(jiān)聽事件實現(xiàn)計數(shù)點擊依次增加的方法
今天小編就為大家分享一篇Vue監(jiān)聽事件實現(xiàn)計數(shù)點擊依次增加的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09vue對storejs獲取的數(shù)據(jù)進行處理時遇到的幾種問題小結(jié)
這篇文章主要介紹了vue對storejs獲取的數(shù)據(jù)進行處理時遇到的幾種問題小結(jié),需要的朋友可以參考下2018-03-03詳解vue中$nextTick和$forceUpdate的用法
這篇文章主要介紹了詳解vue中$nextTick和$forceUpdate的用法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-12-12