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

Vue自定義鈴聲提示音組件的實(shí)現(xiàn)

 更新時(shí)間:2022年01月22日 12:07:53   作者:森林好兒狼  
這篇文章主要介紹了Vue中自定義一個(gè)鈴聲提示音組件的實(shí)現(xiàn)以及使用方法,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Vue有一定幫助,需要的可以參考一下

背景/前言

之前的一個(gè)功能需求,需要在頁(yè)面接收消息,一旦有了新消息之后,需要用鈴聲進(jìn)行提醒。

因?yàn)闆](méi)有找到類似的比較便捷的組件,所以就自己寫(xiě)了一個(gè)。然后想著能不能嘗試下做成一個(gè)公共的組件,發(fā)布出去讓其他開(kāi)發(fā)者也用用?于是就試著寫(xiě)了一個(gè)項(xiàng)目(項(xiàng)目地址在最后),發(fā)布成了npm包。

目前這個(gè)組件已經(jīng)發(fā)布到了npm上,歡迎大家試用。如果有好的建議,或者找到了更好的類似組件,歡迎指出和分享~

下面是使用文檔:

組件的使用

安裝

npm i easy-ring

加載

1)全局使用

在vue-cli項(xiàng)目main.js上當(dāng)作插件使用,即可直接在vue單文件組件使用

// main.js
import EasyRing from 'easy-ring'
Vue.use(EasyRing)
<!-- 直接使用,無(wú)需引入 -->
<template>
    <easy-ring
        :open="open"
        :ring="ring"
        :src="src"
    />
</template>

export default {
    ...
}

2)import方式

在vue單文件組件里引入

<template>
    <easy-ring
        :open="open"
        :ring="ring"
        :src="src"
    />
</template>

import EasyRing from 'easy-ring'
export default {
    components: {
        EasyRing
    }
    ...
}

組件生效

  • 第一步. 開(kāi)啟鈴聲:將open參數(shù)設(shè)為true
  • 第二步. 響鈴:將ring參數(shù)設(shè)為true
  • 第三步. 關(guān)鈴:將ring參數(shù)設(shè)為false

PS:

  • 開(kāi)啟鈴聲這一步,需要放到一個(gè)按鈕下埋點(diǎn)進(jìn)行觸發(fā)(原因解釋見(jiàn)下文 "關(guān)于open參數(shù)的解釋")。為了提升自己產(chǎn)品的使用體驗(yàn),可以做到用戶無(wú)感知,例如在登錄時(shí),用戶點(diǎn)擊“登錄”按鈕即可設(shè)置open參數(shù)為true
  • 根據(jù)自己的需求自行決定何時(shí)響鈴、何時(shí)關(guān)鈴,將ring參數(shù)的更改放到對(duì)應(yīng)邏輯下即可

組件參數(shù)

參數(shù)名類型默認(rèn)值說(shuō)明
openBooleanfalse開(kāi)啟鈴聲
ringBooleanfalse是否響鈴
srcString默認(rèn)鈴聲鈴聲音頻文件地址

使用默認(rèn)音效

若想使用默認(rèn)音效,請(qǐng)?jiān)?/main.js文件中引入默認(rèn)音效

// main.js
require('easy-ring/easy-ring-default.wav')

然后將這段代碼合并到你的vue.config.js配置中:

configureWebpack: {
        module: {
            rules: [
                {
                    test: /easy-ring-default\.(wav)$/i,
                    loader: 'file-loader',
                    options: {
                        name: 'media/[name].[ext]'
                    },
                },
          ]
        }
    }

需要添加這個(gè)配置的原因是,vue-cli默認(rèn)會(huì)對(duì)所有打包的靜態(tài)資源加上hash版本號(hào),這樣easy-ring就無(wú)法獲取到你目錄下的默認(rèn)音頻文件的地址。

加上這一項(xiàng)file-loader的配置后,easy-ring的默認(rèn)音頻文件就不會(huì)帶上hash版本號(hào),easy-ring就能找到它。

關(guān)于open參數(shù)的解釋

因?yàn)楫?dāng)前多數(shù)瀏覽器不支持自動(dòng)播放音頻,需要用戶自己主動(dòng)觸發(fā)播放音頻才行。這一過(guò)程需要放在諸如click的交互事件里,因此我們需要一個(gè)按鈕之類的東西來(lái)觸發(fā)這一行為。

但是,你可以通過(guò)一些交互來(lái)設(shè)計(jì)這一行為,從而提升用戶體驗(yàn),甚至讓用戶對(duì)此無(wú)感知。例如:在登錄時(shí),在用戶點(diǎn)擊“登錄”按鈕時(shí),在代碼里設(shè)置open參數(shù)為true。

項(xiàng)目地址

github上的地址:easy-ring

訪問(wèn)不了github的可以試試這個(gè)鏡像地址:fastgit鏡像

一共有兩個(gè)項(xiàng)目文件:

  • easy-ring-build:構(gòu)建npm發(fā)布包
  • easy-ring-demo:使用范例

到此這篇關(guān)于Vue自定義鈴聲提示音組件的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Vue自定義組件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue中el-date-picker選擇日期的限制的項(xiàng)目實(shí)踐

    vue中el-date-picker選擇日期的限制的項(xiàng)目實(shí)踐

    ElementUI的el-date-picker使用時(shí),有時(shí)候想要限制用戶選擇的時(shí)間范圍,本文就來(lái)介紹了vue中el-date-picker選擇日期的限制的項(xiàng)目實(shí)踐,感興趣的可以了解一下
    2023-10-10
  • 解決vue打包c(diǎn)ss文件中背景圖片的路徑問(wèn)題

    解決vue打包c(diǎn)ss文件中背景圖片的路徑問(wèn)題

    今天小編就為大家分享一篇解決vue打包c(diǎn)ss文件中背景圖片的路徑問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • element-ui組件table實(shí)現(xiàn)自定義篩選功能的示例代碼

    element-ui組件table實(shí)現(xiàn)自定義篩選功能的示例代碼

    這篇文章主要介紹了element-ui組件table實(shí)現(xiàn)自定義篩選功能的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-03-03
  • antfu大佬的v-lazy-show教我學(xué)會(huì)了怎么編譯模板指令

    antfu大佬的v-lazy-show教我學(xué)會(huì)了怎么編譯模板指令

    這篇文章主要介紹了antfu大佬的v-lazy-show,我學(xué)會(huì)了怎么編譯模板指令示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • 淺談vuepress 踩坑記

    淺談vuepress 踩坑記

    本篇文章主要介紹了淺談vuepress 踩坑記,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • 詳解vuejs之v-for列表渲染

    詳解vuejs之v-for列表渲染

    這篇文章主要介紹了詳解vuejs之v-for列表渲染,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-06-06
  • 如何在vue3.0+中使用tinymce及實(shí)現(xiàn)多圖上傳文件上傳公式編輯功能

    如何在vue3.0+中使用tinymce及實(shí)現(xiàn)多圖上傳文件上傳公式編輯功能

    本文給大家分享tinymce編輯器如何在vue3.0+中使用tinymce及實(shí)現(xiàn)多圖上傳文件上傳公式編輯功能,tinymce安裝方法文中也給大家詳細(xì)介紹了,對(duì)vue tinymce實(shí)現(xiàn)上傳公式編輯相關(guān)知識(shí)感興趣的朋友跟隨小編一起學(xué)習(xí)下吧
    2021-05-05
  • vue刷新和tab切換實(shí)例

    vue刷新和tab切換實(shí)例

    下面小編就為大家分享一篇vue刷新和tab切換實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • vue 兄弟組件的信息傳遞的方法實(shí)例詳解

    vue 兄弟組件的信息傳遞的方法實(shí)例詳解

    這篇文章主要介紹了vue 兄弟組件的信息傳遞的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Vue?echarts實(shí)例項(xiàng)目商家銷量統(tǒng)計(jì)圖實(shí)現(xiàn)詳解

    Vue?echarts實(shí)例項(xiàng)目商家銷量統(tǒng)計(jì)圖實(shí)現(xiàn)詳解

    Echarts,它是一個(gè)與框架無(wú)關(guān)的?JS?圖表庫(kù),但是它基于Js,這樣很多框架都能使用它,例如Vue,估計(jì)IONIC也能用,因?yàn)槲业牧?xí)慣,每次新嘗試做一個(gè)功能的時(shí)候,總要新創(chuàng)建個(gè)小項(xiàng)目,做做Demo
    2022-09-09

最新評(píng)論