使用Vue.js,我想将音频dom元素的readyState属性用作反应性属性。

我在组件中具有音频元素,并使用this。$ refs.audioPlayer访问它

我尝试设置计算属性以返回该属性:

audioLoaded(){
    if(this.$refs.audioPlayer){
        return this.$refs.audioPlayer.readyState;
    }
    return false;
}


这只是返回初始状态(0),在加载媒体时,应更改为4。

有什么方法可以使它具有反应性吗?

最佳答案

通过添加一个名为audioLoaded的属性来解决此问题,该属性在创建组件时设置为false。

音频就绪时,已安装的此函数将其设置为true:

var self = this;
this.audioPlayer.oncanplay = function(){
    self.audioLoaded = true;
};

09-30 18:59
查看更多