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

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

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

需求背景

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

需求分析

這個需求分為兩步,一個是負(fù)責(zé)雙向?qū)崟r通信,一個是全局顯示。雙向?qū)崟r通信我們可以利用socket來實(shí)現(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)接原因:該客戶想購買服務(wù),請及時接待!
    </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è)置定時任務(wù),三秒無操作自動消失
      this.timer = setTimeout(() => {
        this.closePopup()
      }, 3000)
    },
    closePopup () {
      //清除定時器
      clearTimeout(this.timer)
      //實(shí)現(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'

// 返回一個 擴(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vuejs第一篇之入門教程詳解(單向綁定、雙向綁定、列表渲染、響應(yīng)函數(shù))

    Vuejs第一篇之入門教程詳解(單向綁定、雙向綁定、列表渲染、響應(yīng)函數(shù))

    組件(Component)是 Vue.js 最強(qiáng)大的功能之一。接下來給大家介紹vuejs單向綁定、雙向綁定、列表渲染、響應(yīng)函數(shù)的相關(guān)知識,非常不錯,感興趣的朋友一起看看吧
    2016-09-09
  • vue使用自定義指令實(shí)現(xiàn)按鈕權(quán)限展示功能

    vue使用自定義指令實(shí)現(xiàn)按鈕權(quán)限展示功能

    這篇文章主要介紹了vue中使用自定義指令實(shí)現(xiàn)按鈕權(quán)限展示功能,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • 深入理解vuex2.0 之 modules

    深入理解vuex2.0 之 modules

    本篇文章主要介紹了vuex2.0 之 modules,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • vuejs使用$emit和$on進(jìn)行組件之間的傳值的示例

    vuejs使用$emit和$on進(jìn)行組件之間的傳值的示例

    本篇文章主要介紹了vuejs使用$emit和$on進(jìn)行組件之間的傳值的示例,具有一定的參考價值,有興趣的可以了解一下
    2017-10-10
  • vue中關(guān)于trigger的用法

    vue中關(guān)于trigger的用法

    這篇文章主要介紹了vue中關(guān)于trigger的用法說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • vue3+TS reactive設(shè)定類型方式

    vue3+TS reactive設(shè)定類型方式

    這篇文章主要介紹了vue3+TS reactive設(shè)定類型方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • 深入分析element ScrollBar滾動組件源碼

    深入分析element ScrollBar滾動組件源碼

    這篇文章主要介紹了element ScrollBar滾動組件源碼深入分析,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • Vue如何獲取new Date().getTime()時間戳

    Vue如何獲取new Date().getTime()時間戳

    在Web開發(fā)中,前端使用Vue.js獲取的是毫秒級時間戳,而PHP后端則是秒級時間戳,處理此類問題時,需要將PHP的時間戳乘以1000轉(zhuǎn)換為毫秒級,以保證數(shù)據(jù)的一致性和正確的邏輯判斷
    2024-10-10
  • 一文搞懂Vue3中watchEffect偵聽器的使用

    一文搞懂Vue3中watchEffect偵聽器的使用

    今天我們來學(xué)習(xí)一下watch偵聽器的好兄弟?watchEffect?偵聽器。這個相對來說比較簡單,用的不是很多,當(dāng)然了,根據(jù)自己的項(xiàng)目情況自行決定使用,希望對大家有所幫助
    2022-07-07
  • Element-Ui組件 NavMenu 導(dǎo)航菜單的具體使用

    Element-Ui組件 NavMenu 導(dǎo)航菜單的具體使用

    這篇文章主要介紹了Element-Ui組件 NavMenu 導(dǎo)航菜單的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10

最新評論

津市市| 巴彦县| 密山市| 福建省| 蒲城县| 罗源县| 霍林郭勒市| 长治县| 盱眙县| 锡林浩特市| 莱州市| 太康县| 全椒县| 长汀县| 石家庄市| 阿荣旗| 武威市| 宕昌县| 彝良县| 仪陇县| 利津县| 北流市| 龙南县| 合阳县| 新野县| 建昌县| 万山特区| 化州市| 巴彦淖尔市| 洛南县| 武冈市| 定南县| 晴隆县| 昆山市| 信宜市| 迁安市| 平顶山市| 清苑县| 克山县| 茶陵县| 和硕县|