欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

需求背景

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

需求分析

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

代碼展示

首先是寫個彈窗組件,這里給出個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)接原因:該客戶想購買服務,請及時接待!
    </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)
      //設置定時任務,三秒無操作自動消失
      this.timer = setTimeout(() => {
        this.closePopup()
      }, 3000)
    },
    closePopup () {
      //清除定時器
      clearTimeout(this.timer)
      //實現(xiàn)從下往上消失,隱藏后移除該元素
      document.querySelector('.transferPopup-wrap').classList.remove('transferPopup-wrap_in')
      setTimeout(() => {
        document.body.removeChild(document.querySelector('.transferPopup-wrap'))
      }, 550)
    }
  }
} 

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

import vue from 'vue'

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

// 返回一個 擴展實例構(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引入,即可實現(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全局掛載實現(xiàn)APP全局彈窗的示例代碼的文章就介紹到這了,更多相關(guān)vue APP全局彈窗內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解Vue中watch的詳細用法

    詳解Vue中watch的詳細用法

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新評論