vue利用sync語法糖實現(xiàn)modal彈框的項目實踐
用過vue的開發(fā)者都知道vue是組件化開發(fā)的一個框架,基于組件化的原則,很多時候我們開發(fā)的時候都會把像modal、drawer這種彈框,抽屜類的組件作為一個單獨的組件分出去,然后在在用到的頁面引入進來這個時候就涉及到了visible 屬性的父子組件的通信,我們常規(guī)的做法可以通過props,$emit的方式進行通信,但vue其實提供了一種更為優(yōu)雅的實現(xiàn)方式,可以通過sync的語法糖來實現(xiàn)。 具體代碼如下 父組件代碼
<div class="flex"> <a-button @click="openModal">打開Modal彈框</a-button> <DemoModal :visible.sync="visible" /> </div> </template> <script> import DemoModal from './demoModal.vue' export default { components: { DemoModal, }, data() { return { visible: false, } }, methods: { openModal() { this.visible = 'true' }, }, } </script> <style > .flex { display: flex; justify-content: center; align-items: center; height: 100vh; } </style>
子組件代碼
<a-modal title="彈框" :visible="visible" @ok="handleSubmit" @cancel="handleCancel" > </a-modal> </template> <script> export default { name:"DemoModal", props:{ visible:{ type:Boolean, default:false } }, methods:{ handleCancel(){ this.$emit("update:visible",false) } } } </script>
效果圖
下面簡單說一下sync語法糖的原理 其實原理也是基于props emit,只不過語法糖會幫我們做一些事,父組件里:visible.sync="visible"會被擴展成:visible=""visible@upate:visible="value−>visible=value"其中value是子組件傳過來的參數(shù),這也就是為什么子組件關(guān)閉的時候要用這個寫法this.emit("update:visible",false) 通過語法糖來實現(xiàn)modal彈框,可以讓我們的代碼更為簡潔更為優(yōu)雅,其用法在drawer里也是一樣的這里就不一一闡述了
到此這篇關(guān)于vue利用sync語法糖實現(xiàn)modal彈框的項目實踐的文章就介紹到這了,更多相關(guān)vue modal彈框內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue中的methods、computed計算屬性和watch監(jiān)聽屬性的使用和區(qū)別解析
這篇文章主要介紹了Vue中的methods、computed計算屬性和watch監(jiān)聽屬性的使用和區(qū)別,本文通過示例代碼給大家介紹的非常詳細(xì)對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2024-01-01vue element-ui el-cascader級聯(lián)選擇器數(shù)據(jù)回顯的兩種實現(xiàn)方法
這篇文章主要介紹了vue element-ui el-cascader級聯(lián)選擇器數(shù)據(jù)回顯的兩種實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。2023-07-07vue+webpack dev本地調(diào)試全局樣式引用失效的解決方案
今天小編就為大家分享一篇vue+webpack dev本地調(diào)試全局樣式引用失效的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11elementUI如何動態(tài)給el-tree添加子節(jié)點數(shù)據(jù)children詳解
element-ui 目前基本成為前端pc網(wǎng)頁端標(biāo)準(zhǔn)ui框架,下面這篇文章主要給大家介紹了關(guān)于elementUI如何動態(tài)給el-tree添加子節(jié)點數(shù)據(jù)children的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-11-11