vue?如何根據(jù)條件判斷屬性的添加和去除
根據(jù)條件判斷屬性的添加和去除
寫一個(gè)列表,然后想要在查詢數(shù)據(jù)的過程中添加loading樣式,這個(gè)時(shí)候需要添加一個(gè)loading屬性,但是添加之后會(huì)有直接展示loading。
解決方法
:loading = isLoading
在下面需要注冊(cè)isLoading為boolean類型,如下:
isLoading:false/true
然后在開始查詢的時(shí)候改為false,查詢結(jié)果出來之后改為false
this.isLoading = true this.isLoading = false
Vue 的條件判斷語句
v-if
條件判斷用 v-if 指令
代碼示例:在元素中使用 v-if 指令
<div id="app"> ?? ?<input type="button" value='toggle' @click='flag=!flag'> ? ? <h3 v-if='flag'>v-if directive</h3> </div>
var vm = new Vue({
?? ?el:'#app',
? ? data:{
? ? ? ?flag:true
? ? },
? ? methods:{}
});這里, v-if 指令將根據(jù)表達(dá)式 flag 的值 (true 或 false ) 來決定是否插入 h3 元素。
v-else
可以用 v-else 指令給 v-if 添加一個(gè) “else” 塊
代碼示例:在元素中使用 v-if , v-else 指令
<div id="app"> ? ? <h3 v-if='flag'>Yes</h3> ? ? ? ? <h3 v-else='flag'>No</h3> </div>
var vm = new Vue({
?? ?el:'#app',
? ? data:{
? ? ? ?flag:true
? ? },
? ? methods:{}
});這里, v-if,v-else 指令將根據(jù)表達(dá)式 flag 的值 (true 或 false ) 來決定是否插入 h3 元素以及元素中的值。
v-else-if
v-else-if 在 2.1.0 新增,用作 v-if 的 else-if 塊??梢枣?zhǔn)降亩啻问褂?/p>
代碼示例:在元素中使用 v-if , v-else, v-else-if 指令
<div id="app"> ? ? <h3 v-if='star==="Jackson"'>Jackson</h3> ? ? ? ? <h3 v-else-if='star==="Lay"'>Lay</h3> ? ? ? ? <h3 v-else='star==="Yang"'>Yang</h3> </div>
var vm = new Vue({
?? ?el:'#app',
? ? data:{
? ? ? ?star:Jackson
? ? },
? ? methods:{}
});v-else 、v-else-if 必須跟在 v-if 或者 v-else-if之后。
v-show
v-show 跟 v-if 的效果差不多;但本質(zhì)有很大的區(qū)別。
代碼示例:v-if 與 v-show 的區(qū)別
? ? <div id="app"> ? ? ? ? <input type="button" value='toggle' @click='toggle'> ? ? ? ? <!-- 一般來說,v-if 有更高的切換消耗,而 v-show 有更高的初始渲染消耗。 ? ? ? ? 因此,如果需要頻繁切換:用 v-show 較好;如果在運(yùn)行時(shí)條件不大可能改變: ? ? ? ? 用 v-if 較好 --> ? ? ? ? <h3 v-if='flag'>v-if directive</h3> ? ? ? ? <h3 v-show='flag'>v-show directive</h3> ? ? </div>
<script>
? ? var vm = new Vue({
? ? ? ? el:'#app',
? ? ? ? data:{
? ? ? ? ? ? flag:true
? ? ? ? },
? ? ? ? methods:{
? ? ? ? ? ? toggle(){
? ? ? ? ? ? ? ? this.flag =! this.flag;
? ? ? ? ? ? }
? ? ? ? }
? ? });
</script>v-if 與 v-show 的區(qū)別
區(qū)別一:
- v-if 是動(dòng)態(tài)添加,當(dāng)值為 false時(shí),是完全移除該元素,即 DOM 不存在;
- v-show 僅隱藏 / 顯示,值為 false 時(shí),該元素依舊存在于 DOM,若其原樣式設(shè) display:none 則會(huì)導(dǎo)致其無法正常顯示
區(qū)別二:
- v-if 有較高的切換性能消耗
- v-show 有較高的初始渲染消耗
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue+Element-ui實(shí)現(xiàn)分頁效果
這篇文章主要為大家詳細(xì)介紹了vue+Element-ui實(shí)現(xiàn)分頁效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-11-11
Jenkins?Sidebar?Link插件實(shí)現(xiàn)添加側(cè)邊欄功能詳解
這篇文章主要介紹了vue框架實(shí)現(xiàn)添加側(cè)邊欄,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12
vue內(nèi)嵌iframe跨域通信的實(shí)例代碼
這篇文章主要介紹了vue內(nèi)嵌iframe跨域通信,主要介紹了Vue組件中如何引入iframe,vue如何獲取iframe對(duì)象以及iframe內(nèi)的window對(duì)象,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì)需要的朋友可以參考下2022-11-11
webpack vue 項(xiàng)目打包生成的文件,資源文件報(bào)404問題的修復(fù)方法(總結(jié)篇)
這篇文章主要介紹了解決webpack vue 項(xiàng)目打包生成的文件,資源文件報(bào)404問題的修復(fù)方法,需要的朋友可以參考下2018-01-01
vue keep-alive 動(dòng)態(tài)刪除組件緩存的例子
今天小編就為大家分享一篇vue keep-alive 動(dòng)態(tài)刪除組件緩存的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11
vuex中store存儲(chǔ)store.commit和store.dispatch的用法
這篇文章主要介紹了vuex中store存儲(chǔ)store.commit和store.dispatch的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-07-07
Ant?Design-vue?解決input前后空格問題(推薦)
最近做項(xiàng)目遇到這樣一個(gè)問題輸入框不允許有前后空格但字符中間可以有空格,怎么解決這個(gè)問題呢,接下來小編把a(bǔ)nt?Design-vue?解決input前后空格問題的實(shí)現(xiàn)代碼分享給大家,感興趣的朋友一起看看吧2022-10-10
詳細(xì)聊聊vue組件是如何實(shí)現(xiàn)組件通訊的
組件間通信簡單來說就是組件間進(jìn)行數(shù)據(jù)傳遞,就像我們?nèi)粘5拇螂娫?就是通訊的一種方式,下面這篇文章主要給大家介紹了關(guān)于vue組件是如何實(shí)現(xiàn)組件通訊的相關(guān)資料,需要的朋友可以參考下2022-05-05

