亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vue全局掛載實(shí)現(xiàn)APP全局彈窗的示例代碼

 更新時(shí)間:2022年05月26日 08:37:30   作者:白馬過平川吉吉  
本文主要介紹了vue全局掛載實(shí)現(xiàn)APP全局彈窗的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

需求背景

app端對(duì)接網(wǎng)頁(yè)端的客服系統(tǒng),在用戶實(shí)現(xiàn)網(wǎng)頁(yè)客戶系統(tǒng)發(fā)起詢問時(shí),app不論在哪個(gè)頁(yè)面都需要彈窗提示

需求分析

這個(gè)需求分為兩步,一個(gè)是負(fù)責(zé)雙向?qū)崟r(shí)通信,一個(gè)是全局顯示。雙向?qū)崟r(shí)通信我們可以利用socket來(lái)實(shí)現(xiàn),具體內(nèi)容不展開(后續(xù)看情況再出一篇),本文主要講全局顯示。

代碼展示

首先是寫個(gè)彈窗組件,這里給出個(gè)demo。如下

<template>
  <view
    class="transferPopup-wrap"
    style="transform: translateY(-200px)"
  >
    <view class="transferPopup-topContent">
      <text class="transferPopup-status">組內(nèi)轉(zhuǎn)接</text>
      <text class="transferPopup-from"
        >渠道組陳志成 將匿名客戶03(廈門)轉(zhuǎn)接給你</text
      >
    </view>
    <view class="transferPopup-reason">
      轉(zhuǎn)接原因:該客戶想購(gòu)買服務(wù),請(qǐng)及時(shí)接待!
    </view>
  </view>
</template>
export default {
  data () {
    return {
      timer: ''
    }
  },
  methods: {
  	openPopup () {
      setTimeout(() => {
        //transferPopup-wrap_in class的作用是translateY置為0
        document.querySelector('.transferPopup-wrap').classList.add('transferPopup-wrap_in')
      }, 0)
      //設(shè)置定時(shí)任務(wù),三秒無(wú)操作自動(dòng)消失
      this.timer = setTimeout(() => {
        this.closePopup()
      }, 3000)
    },
    closePopup () {
      //清除定時(shí)器
      clearTimeout(this.timer)
      //實(shí)現(xiàn)從下往上消失,隱藏后移除該元素
      document.querySelector('.transferPopup-wrap').classList.remove('transferPopup-wrap_in')
      setTimeout(() => {
        document.body.removeChild(document.querySelector('.transferPopup-wrap'))
      }, 550)
    }
  }
} 

注意有個(gè)transform: translateY(-200px)transferPopup-wrap_inclass,這是為了模擬彈窗出現(xiàn)時(shí)從上往下滑動(dòng)的動(dòng)畫(參考微信qq)
接下來(lái)只要把這個(gè)組件掛載到vue原型,就可以在任何地方使用且無(wú)需引入,主要利用vue.extend首先,先在該組件同級(jí)目錄建立index.js,內(nèi)容如下

import vue from 'vue'

// 這里就是我們剛剛創(chuàng)建的那個(gè)靜態(tài)組件
import toastComponent from './index.vue'

// 返回一個(gè) 擴(kuò)展實(shí)例構(gòu)造器
const ToastConstructor = vue.extend(toastComponent)

toastComponent.install = function () {
  const toastDom = new ToastConstructor({})
  //掛載到添加的div上
  toastDom.$mount(document.createElement('div'))
  //div添加到body里
  document.body.appendChild(toastDom.$el)
  return toastDom
}

export default toastComponent

然后在main.js引入,即可實(shí)現(xiàn)

import Vue from 'vue'
import transferPopup from "@/components/transferPopup/index.js"; // 全局彈窗轉(zhuǎn)接提示組件
Vue.prototype.$transferPopup = transferPopup.install;

然后在其他文件就可以通過this.$transferPopup().openPopup('組內(nèi)轉(zhuǎn)接')調(diào)用組件的方法

到此這篇關(guān)于vue全局掛載實(shí)現(xiàn)APP全局彈窗的示例代碼的文章就介紹到這了,更多相關(guān)vue APP全局彈窗內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解Vue中watch的詳細(xì)用法

    詳解Vue中watch的詳細(xì)用法

    在vue中,使用watch來(lái)響應(yīng)數(shù)據(jù)的變化。watch的用法大致有三種。下面代碼是watch的一種簡(jiǎn)單的用法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-11-11
  • vue實(shí)現(xiàn)帶縮略圖的輪播圖效果

    vue實(shí)現(xiàn)帶縮略圖的輪播圖效果

    這篇文章主要為大家詳細(xì)介紹了如何使用vue實(shí)現(xiàn)帶縮略圖的輪播圖效果,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的可以參考下
    2024-02-02
  • vue3開啟攝像頭并進(jìn)行拍照的實(shí)現(xiàn)示例

    vue3開啟攝像頭并進(jìn)行拍照的實(shí)現(xiàn)示例

    本文主要介紹了vue3開啟攝像頭并進(jìn)行拍照的實(shí)現(xiàn)示例,主要是使用navigator.mediaDevices.getUserMedia這個(gè)API來(lái)實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • Vue Element-UI中el-table實(shí)現(xiàn)單選的示例代碼

    Vue Element-UI中el-table實(shí)現(xiàn)單選的示例代碼

    在element-ui中是為我們準(zhǔn)備好了可直接使用的單選與多選屬性的,本文主要介紹了Vue Element-UI中el-table實(shí)現(xiàn)單選的示例代碼,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-12-12
  • Vue 自定義組件 v-model 使用詳解

    Vue 自定義組件 v-model 使用詳解

    這篇文章主要介紹了Vue 自定義組件 v-model 使用介紹,包括vue2中使用和vue3中使用,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • 詳解vue+nodejs獲取多個(gè)表數(shù)據(jù)的方法

    詳解vue+nodejs獲取多個(gè)表數(shù)據(jù)的方法

    這篇文章主要為大家介紹了vue+nodejs獲取多個(gè)表數(shù)據(jù)的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-12-12
  • vue實(shí)現(xiàn)省市區(qū)的級(jí)聯(lián)選擇

    vue實(shí)現(xiàn)省市區(qū)的級(jí)聯(lián)選擇

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)省市區(qū)的級(jí)聯(lián)選擇,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • vue與原生app的對(duì)接交互的方法(混合開發(fā))

    vue與原生app的對(duì)接交互的方法(混合開發(fā))

    vue開發(fā)h5項(xiàng)目特別是移動(dòng)端的項(xiàng)目,很多都是打包后掛載在原生APP上的,這篇文章主要介紹了vue與原生app的對(duì)接交互的方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2018-11-11
  • Vue3+TS實(shí)現(xiàn)數(shù)字滾動(dòng)效果CountTo組件

    Vue3+TS實(shí)現(xiàn)數(shù)字滾動(dòng)效果CountTo組件

    最近開發(fā)有個(gè)需求需要酷炫的文字滾動(dòng)效果,發(fā)現(xiàn)vue2版本的CountTo組件不適用與Vue3,沒有輪子咋辦,那咱造一個(gè)唄,感興趣的小伙伴可以跟隨小編一起了解一下
    2022-11-11
  • element-ui 中的table的列隱藏問題解決

    element-ui 中的table的列隱藏問題解決

    這篇文章主要介紹了element-ui 中的table的列隱藏問題解決,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2018-08-08

最新評(píng)論