vue中v-if?和v-permission?共同使用的坑及解決方案
背景
后臺系統(tǒng)某功能按鈕需要訂單狀態(tài)和用戶權(quán)限共同校驗是否顯示,將權(quán)限校驗和v-if共同作用在同一div中,下方為實例代碼
<div v-if="status==0"> <div @click="function1"> 某按鈕功能 </div> </div> <div v-if="status==1" v-permission="['admin']"> <div @click="function2"> 某按鈕功能 </div> </div>
在進行直接查詢時無異常,沒有顯示功能按鈕;但在查詢狀態(tài) status == 0 為真后,再次查詢status==1 則進行報錯,并且在沒有權(quán)限的情況下,顯示功能按鈕。
這里作出猜想,因為在v-if判斷status==0 的時候,進行了 是否status==1 等于1的判斷;而再次查詢后,status的值刷新為1時,在v-if判斷是否 status==0 后,則直接進行了 是否status==1的判斷,而status確實為1,則直接顯示在頁面,而后續(xù)權(quán)限才判斷,告訴vue:你這不對啊,他沒這個權(quán)限,不應該顯示,然后以及渲染出來的節(jié)點不能直接刪除,報了錯。
解決方法
將v-permission作為首要判斷條件,將v-if作用在按鈕級別,即
<div v-if="status==0"> <div @click="function1"> 某按鈕功能 </div> </div> <div v-permission="['admin']"> <div v-if="status==1" @click="function2"> 某按鈕功能 </div> </div>
有明白原理的朋友可以和我說明
到此這篇關(guān)于vue中v-if 和v-permission 共同使用的坑及解決方案的文章就介紹到這了,更多相關(guān)vue中v-if 和v-permission 共同使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
利用Vue構(gòu)造器創(chuàng)建Form組件的通用解決方法
這篇文章主要給大家介紹了關(guān)于利用Vue構(gòu)造器創(chuàng)建Form組件的通用解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2018-12-12前端實現(xiàn)Vue組件頁面跳轉(zhuǎn)的多種方式小結(jié)
這篇文章主要為大家詳細介紹了前端實現(xiàn)Vue組件頁面跳轉(zhuǎn)的多種方式,文中的示例代碼講解詳細,具有一定的參考價值,有需要的小伙伴可以了解下2024-02-02vue利用better-scroll實現(xiàn)輪播圖與頁面滾動詳解
在我們?nèi)粘5捻椖块_發(fā)中,處理滾動和輪播圖是再常見不過的需求了,下面這篇文章主要給大家介紹了關(guān)于vue利用better-scroll實現(xiàn)輪播圖與頁面滾動的相關(guān)資料,文中給出了詳細的示例代碼供大家參考學習,需要的朋友們下面來一起看看吧。2017-10-10