最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何使用vue slot創(chuàng)建一個(gè)模態(tài)框的實(shí)例代碼

 更新時(shí)間:2020年05月24日 13:45:15   作者:洛神賦  
這篇文章主要介紹了如何使用vue slot創(chuàng)建一個(gè)模態(tài)框,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

【1】遮罩層:承載內(nèi)容,管理樣式布局。

【2】?jī)?nèi)容層:控制遮罩層的顯示與否。

遮罩層和內(nèi)容區(qū)之間應(yīng)該解耦。遮罩層和內(nèi)容區(qū)之間應(yīng)該解耦。遮罩層和內(nèi)容區(qū)之間應(yīng)該解耦。

遮罩層不依賴(lài)于內(nèi)容區(qū),內(nèi)容是放置在遮罩層里的,至于內(nèi)容區(qū)里的內(nèi)容是什么,遮罩層完全不用在意。因此可以在遮罩層里采用插槽。

遮罩層的實(shí)現(xiàn)

<div class="common-mask" v-if="visible">
 <slot name="head"></slot>
 <slot name="body"></slot>
 <slot name="foot"></slot>
 </div>
<style scoped lang='scss'>
 .common-mask {
 position: fixed;
 top: 0;
 bottom: 0;
 left: 0;
 right: 0;
 background: rgba($color: #000000, $alpha: 0.75);
 display: flex;
 justify-content: center;
 align-content: center;
 z-index: 4;
 }
</style>

內(nèi)容層的實(shí)現(xiàn)

<Vue-Modal :visible="visible">
 <div slot="head">head</div>
 <div slot="body">body</div>
 <div slot="foot">
 <button class="common-btn" @click="close">Close</button>
 </div>
 </Vue-Modal>

PS:vue組件模態(tài)框?qū)崿F(xiàn)方式

// 組件代碼

<template>
<div>
 <div class="dialog-modal"> <!-- 根元素,z-index 需要高于父容器其他元素 -->
  <div class="dialog-wrapper" @click="onClose" v-show="isShow"></div> <!-- 加載一個(gè)具有透明度的背景,使根元素透明,子元素會(huì)繼承該透明度 -->
  <transition name="drop">
    <div class="dialog-container" v-show="isShow"> <!-- 模態(tài)框容器,z-index 需要高于背景 -->
      <span class="close-btn" @click="onClose">x</span>
      <slot>
        <p>hello</p>
      </slot>
    </div>
  </transition>
 </div>
</div>
</template>
<script>
  export default {
    props: {
      isShow:{
        type: Boolean,
        default: false
      }
    },
    methods: {
      onClose(){
        this.$emit('on-close');
      }
    }
  }
</script>
<style>
.drop-enter-active {
 transition: all .5s;
}
.drop-leave-active {
 transition: all .3s;
}
.drop-enter {
 transform: translateY(-500px);
}
.drop-leave-active {
 transform: translateY(-500px);
}  
 
  .dialog-modal{
    position: absolute;
    z-index: 5;
  }
  .dialog-wrapper
  {
    position: fixed;
    height: 100%;
    width: 100%;
    z-index: 5;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
   
  }
  .dialog-wrapper{
    background-color: #eee;
    opacity: .9;
  }
  .dialog-container{
    position: fixed;
    z-index:80;
    top: 10%;
    left: 25%;
    width: 50%;
    /* margin: 0 auto; */
    background-color: #eee;
    border-radius: 3px;
    box-shadow: 0 5px 15px rgba(0,0,0,.5);
  }
  span.close-btn{
    padding: 0 5px;
    float: right;
    cursor: pointer;
    font-size: 18px;
    font-weight: bold;
  }
</style>

// 組件使用

//導(dǎo)入模態(tài)對(duì)話(huà)框
import modal from './plugins/dialog'
// 在使用組件
<modal></modal>

<modal @on-close="closeThis('isShowLog')":is-show='isShowLog'><login></login></modal>

總結(jié)

到此這篇關(guān)于如何使用vue slot創(chuàng)建一個(gè)模態(tài)框的文章就介紹到這了,更多相關(guān)vue slot創(chuàng)建模態(tài)框內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 淺談在Vue-cli里基于axios封裝復(fù)用請(qǐng)求

    淺談在Vue-cli里基于axios封裝復(fù)用請(qǐng)求

    這篇文章主要介紹了淺談在Vue-cli里基于axios封裝復(fù)用請(qǐng)求,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11
  • 學(xué)習(xí)vue.js表單控件綁定操作

    學(xué)習(xí)vue.js表單控件綁定操作

    這篇文章主要和大家一起學(xué)習(xí)vue.js表單控件綁定操作,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • vue如何使用原生高德地圖你知道嗎

    vue如何使用原生高德地圖你知道嗎

    這篇文章主要為大家詳細(xì)介紹了vue如何使用原生高德地圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-02-02
  • vue3搭配pinia的踩坑實(shí)戰(zhàn)記錄

    vue3搭配pinia的踩坑實(shí)戰(zhàn)記錄

    Pinia是一個(gè)同時(shí)支持Vue2和Vue3的應(yīng)用狀態(tài)管理工具,簡(jiǎn)單來(lái)說(shuō)就是為了管理整個(gè)應(yīng)用中的響應(yīng)式數(shù)據(jù),解決各個(gè)組件交互時(shí)數(shù)據(jù)狀態(tài)的不好管理的問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于vue3搭配pinia踩坑的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • Vue封裝Axios請(qǐng)求和攔截器的步驟

    Vue封裝Axios請(qǐng)求和攔截器的步驟

    這篇文章主要介紹了Vue封裝Axios請(qǐng)求和攔截器的步驟,幫助大家更好的對(duì)axios進(jìn)行封裝并將接口統(tǒng)一管理,同時(shí)為請(qǐng)求和響應(yīng)設(shè)置攔截器interceptors。,感興趣的朋友可以了解下
    2020-09-09
  • 通過(guò)vue-cropper選取本地圖片自定義裁切圖片比例

    通過(guò)vue-cropper選取本地圖片自定義裁切圖片比例

    這篇文章主要介紹了Vue選取本地圖片,自定義裁切圖片比例?vue-cropper,本文分步驟結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • 深入探討如何在Vue中使用EventBus實(shí)現(xiàn)組件間的高效通信

    深入探討如何在Vue中使用EventBus實(shí)現(xiàn)組件間的高效通信

    在現(xiàn)代前端開(kāi)發(fā)中,Vue.js?作為一種流行的漸進(jìn)式框架,廣泛應(yīng)用于各類(lèi)?Web?項(xiàng)目的構(gòu)建中,本文將深入探討如何在?Vue?中使用?EventBus,實(shí)現(xiàn)組件間的高效通信,需要的可以了解下
    2024-11-11
  • vue項(xiàng)目如何引入公共頭部底部

    vue項(xiàng)目如何引入公共頭部底部

    這篇文章主要介紹了vue項(xiàng)目如何引入公共頭部底部問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • 用v-html解決Vue.js渲染中html標(biāo)簽不被解析的問(wèn)題

    用v-html解決Vue.js渲染中html標(biāo)簽不被解析的問(wèn)題

    這篇文章主要給大家介紹了如何利用v-html解決Vue.js渲染過(guò)程中html標(biāo)簽不能被解析,html標(biāo)簽顯示為字符串的問(wèn)題,文中通過(guò)圖文介紹的很詳細(xì),有需要的朋友們可以參考借鑒,下面來(lái)一起看看吧。
    2016-12-12
  • Vue使用NProgress進(jìn)度條的方法

    Vue使用NProgress進(jìn)度條的方法

    這篇文章主要為大家詳細(xì)介紹了Vue使用NProgress進(jìn)度條的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-09-09

最新評(píng)論

乌拉特前旗| 绍兴市| 丰城市| 江山市| 北安市| 大渡口区| 盐池县| 临澧县| 中超| 麟游县| 政和县| 花莲县| 曲沃县| 军事| 义乌市| 奉贤区| 漳州市| 钟祥市| 万盛区| 丘北县| 萨嘎县| 镇远县| 宜宾县| 泸州市| 会理县| 长宁区| 灵山县| 上思县| 益阳市| 天镇县| 安西县| 梁河县| 灌阳县| 高碑店市| 屯留县| 罗城| 梅州市| 灌南县| 达州市| 博湖县| 广昌县|