Vue绑定<audio>/<video>标记的muted属性无效问题随记

20 篇文章 0 订阅
7 篇文章 0 订阅

问题代码

<!--这里的muted绑定不起作用-->
<audio :muted="isMuted" ref="audioPlayer"></audio>

援引Github上的issue回复

在这里插入图片描述

翻译:muted属性类似于<input>value属性,如果他在元素初始化时是内联的,那么属性值将作为初始值;但是如果在一开始并没有内联,只是后续更改了attribute 1 值,那么将不会起任何效果,正确的做法是设置相对应的property 1 值。

解决方式:使用watch来手动设置muted

html

<audio ref="audioPlayer"></audio>

javascript

watch:{
	isMuted(val){
		if(val){
			this.$refs.audioPlayer.muted = 'muted'
		}
		else{
			this.$refs.audioPlayer.muted = ''
		}
	}
}

以上


  1. 关于attribute和property值的区别,可以看我往期的文章↩︎ ↩︎

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值