问题代码
<!--这里的muted绑定不起作用-->
<audio :muted="isMuted" ref="audioPlayer"></audio>
援引Github上的issue回复
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIwczX0xiRGZkRGZ0Xy9GbvNGL2EzXlpXazxydRpmT31EVPBTT6hFMG1mYw50MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL5gjNzETMwIjM3ITMwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
翻译:muted属性类似于
<input>
的
value
属性,如果他在元素初始化时是内联的,那么属性值将作为初始值;但是如果在一开始并没有内联,只是后续更改了attribute 1 值,那么将不会起任何效果,正确的做法是设置相对应的property 1 值。
解决方式:使用watch来手动设置muted
html
javascript
watch:{
isMuted(val){
if(val){
this.$refs.audioPlayer.muted = 'muted'
}
else{
this.$refs.audioPlayer.muted = ''
}
}
}
以上
- 关于attribute和property值的区别,可以看我往期的文章。 ↩︎ ↩︎