1.自定义报警组件

Alarm.vue

<!-- 报警 组件 -->
<template>
<div class="alarm">
<!-- <video src="../assets/mp3/6705.mp3" controls="controls">
您的浏览器不支持 video 标签。
</video> --> <audio id="myAudio" loop>
<source :src="url" type="audio/mpeg">
</audio> <!-- <audio id="myAudio" loop>
<source v-if="number == 2370" src="../assets/mp3/2370.mp3" type="audio/mpeg">
<source v-if="number == 4031" src="../assets/mp3/4031.mp3" type="audio/mpeg">
<source v-if="number == 6705" src="../assets/mp3/6705.mp3" type="audio/mpeg">
</audio> -->
</div>
</template> <script>
/**
* audio 属性详解
* controls 显示或隐藏用户控制界面
* autoplay 是否自动播放(加载时播放,仅播放一次)
* loop 是否循环播放
* preload 是否预加载
*/
export default {
props: {
onOff: { // 报警开关
type: Boolean,
default: false
},
number: {
type: Number,
default: 6705
}
},
data() {
return {
url: require('../assets/mp3/6705.mp3')
}
},
watch:{
onOff: {
handler: function (val, oldVal) {
if(val){
document.getElementById('myAudio').play();
}else{
document.getElementById('myAudio').pause();
}
},
deep: true
}
},
methods: {
//
}
}
</script> <style lang="less" scoped>
.alarm {
//
}
</style>

2.页面调用

Setting.vue

<!-- 设置 -->
<template>
<div>
<!-- 标题栏 -->
<x-header title="设置"></x-header>
<!-- 内容部分 -->
<box gap="10px 10px">
<x-button type="primary" @click.native="startAlarm">开启报警</x-button>
<x-button type="warn" @click.native="stopAlarm">结束报警</x-button>
</box> <m-alarm
:onOff="onOff"
></m-alarm>
</div>
</template> <script>
import { XHeader, Box, XButton } from 'vux'
// 引入报警组件
import mAlarm from '../../components/Alarm.vue' export default {
name: 'Setting',
components: {
XHeader,
Box,
XButton,
mAlarm,
},
data(){
return {
onOff: false
}
},
methods: {
startAlarm(){
console.log('开启');
this.onOff = true;
},
stopAlarm(){
console.log('关闭');
this.onOff = false;
}
}
}
</script> <style lang="less" scoped>
.content{
position: absolute;
top: 46px;
left: 0px;
right: 0px;
bottom: 0px;
overflow: scroll;
}
/*隐藏 滚动条*/
::-webkit-scrollbar{
display:none;
}
</style>

3.效果图

vue 自定义报警组件的更多相关文章

  1. vue自定义全局组件(自定义插件)

    有时候我们在做开发的时候,就想自己写一个插件然后就可以使用自己的插件,那种成就感很强.博主最近研究element-ui和axios的时候,发现他们是自定义组件,但是唯一有一点不同的是,在用elemen ...

  2. vue自定义select组件

    1.目的 看了很多element-ui的源码,决定自己实现一个简单的select组件,遇到的几个难点,便记录下来. 2.难点一 element-ui中的select组件通过v-model可以绑定数据, ...

  3. vue 自定义分页组件

    vue2.5自定义分页组件,可设置每页显示条数,带跳转框直接跳转到相应页面 Pagination.vue 效果如下图: all: small(只显示数字和上一页和下一页): html <temp ...

  4. Vue自定义日历组件

    今天给大家介绍Vue的日历组件,可自定义样式.日历类型及支持扩展,可自定义事件回调.Props数据传输. 线上demo效果 示例 Template: <Calendar :sundayStart ...

  5. vue自定义分页组件---切图网

    vue2.5自定义分页组件 Pagination.vue,可设置每页显示条数,带跳转框直接跳转到相应页面,亲测有用.目前很多框架自带有分页组件比如elementUI,不过在面对一个拿到PSD稿,然后重 ...

  6. vue自定义日期组件

    vue-datepicker 基于 vuejs 2.x 可自定义主题的日期组件 github Usage 只需要在项目中加入 calendar.vue,就可以使用了. 向组件传入 prop 即可改变 ...

  7. vue 自定义image组件

    介绍 1:当图片加载失败时,给出错误提示. 2:当图片加载中时,给出加载提示. 3:图片处理模式:等比缩放/裁剪/填充/... 1.图片加载状态处理 通过给图片绑定load事件与error事件处理函数 ...

  8. vue 自定义封装组件 使用 model 选项

    自定义组件的 v-model 一个组件上的 v-model 默认会利用名为 value 的 prop 和名为 input 的事件,但是像单选框.复选框等类型的输入控件可能会将 value 特性用于不同 ...

  9. Vue 自定义事件 && 组件通信

    1 App.vue 2 <template> 3 <!-- 4 组件的自定义事件: 5 1.一种组件间通信的方式,使用于:子组件===>父组件 6 2.使用场景:A是父组件,B ...

随机推荐

  1. TWaver3D直线、曲线、曲面的绘制

    插播一则广告(长期有效) TWaver需要在武汉招JavaScript工程师若干 要求:对前端技术(JavasScript.HTML.CSS),对可视化技术(Canvas.WebGL)有浓厚的兴趣 基 ...

  2. 【2018 CCPC网络赛】1004 - 费马大定理&数学

    题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=6441 Knowledge Point: 1. 费马大定理:当整数n >2时,关于x, y, z的 ...

  3. Linux 系统内存分析

    1. 内存基本介绍 1.计算机基本结构: 电脑之父--冯·诺伊曼提出了计算机的五大部件:输入设备.输出设备.存储器.运算器和控制器 如图: 输入设备:键盘鼠标等 CPU:是计算机的运算核心和控制核心, ...

  4. Openjudge-4151-电影节

    这个题是一道贪心的题目,我们要想看的电影数目最多,我们肯定每次都要选最早结束的电影,这样我们才能去看下一部电影. 它本身最早结束,如果同时开始,那肯定是它的放映时间比较短,如果它后开始,先结束,那它的 ...

  5. Shading-jdbc源码分析-sql词法解析

    前言 前有芋艿大佬已经发过相关分析的文章,自己觉的源码总归要看一下,然后看了就要记录下来(记性很差...),所以就有了这篇文章(以后还要继续更

  6. ACM模板(Java)

    模板 Trie HIHOCODER1014 static final int N = (int)1e5+10; static final int SIGMA=(int)27; static int c ...

  7. keepalived安装脚本

    keepalived_install.sh: #cat keepalived_install.sh #!/bin/bash pkg=keepalived-2.0.10.tar.gz tar xf $p ...

  8. Fidder详解-工具简介(保存会话、decode解码、Repaly、自定义会话框、隐藏会话、会话排序)

    前言 本文会对Fidder这款工具的一些重要功能,进行详细讲解,带大家进入Fidder的世界,本文会让你明白,Fidder不仅是一个抓包分析工具,也是一个请求发送工具,更加可以当作为Mock Serv ...

  9. Java实战及解析 — Maven快速入门

    五分钟快速入门 mvn --version mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -Darche ...

  10. Android View加载圆形图片且同时绘制圆形图片的外部边缘边线及边框:LayerDrawable实现

     Android View加载圆形图片且同时绘制圆形图片的外部边缘边线及边框:LayerDrawable实现 LayerDrawable实现的结果和附录文章1,2,3中的layer-list一致. ...