This article will share with you a VUE page sound title flash notification component. Let’s talk about how to use this component. I hope it will be helpful to everyone.
[Related recommendations: vuejs video tutorial, web front-end development】
1.1 Component template reference
<PageNotice ref="pageNotice" sound="/xxx/new_message.mp3" />
1.2 Supported parameters
sound: the sound played during notification
1.3 Dynamic calling method
$refs.pageNotice.tip('你好','新消息') $refs.pageNotice.tip('有新客户访问')
PageNotice component source code is as follows
<template> <div> <audio ref="audio" :src="sound"></audio> </div> </template> <script> export default { name: "PageNotice", props: { sound: { type: String, default: '' }, }, data() { return { tipTimer: null, tipTimerCount: 0, titleOld: null, } }, methods: { tip(msg, type) { this.doPageTitle(msg, type) if (this.sound) { this.doPlaySound() } }, doClearTimer() { clearInterval(this.tipTimer) this.tipTimer = null if (this.titleOld) { window.document.title = this.titleOld } this.tipTimerCount = 0 }, doPageTitle(msg, type) { type = type || '提醒' if (this.tipTimer) { this.doClearTimer() } this.titleOld = document.title this.tipTimerCount = 0 this.tipTimer = setInterval(() => { this.tipTimerCount++ if (this.tipTimerCount % 2 === 0) { window.document.title = '【' + type + '】' + msg } else { window.document.title = '' + msg } if (this.tipTimerCount > 6) { this.doClearTimer() } }, 500) }, doPlaySound() { let audio = this.$refs.audio if (!audio) { return } try { audio.pause() audio.play() } catch (e) { } } } } </script>
(Learning video sharing: vuejs introductory tutorial, Basic programming video)
The above is the detailed content of Share a VUE page sound + title flash notification component (with usage instructions). For more information, please follow other related articles on the PHP Chinese website!