【问题标题】:Vue - Reactive media .readyStateVue - 反应式媒体 .readyState
【发布时间】:2018-02-23 12:58:58
【问题描述】:

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

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

我尝试设置一个计算属性来返回该属性:

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

这只是返回初始状态(0),当媒体加载时,这应该变为4。

有没有办法让它成为反应属性?

【问题讨论】:

    标签: javascript vue.js vuejs2


    【解决方案1】:

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

    mounted 中的这个函数在音频准备好时将其设置为 true:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-05
      • 1970-01-01
      • 2023-01-31
      • 2018-12-25
      • 2021-08-09
      • 1970-01-01
      • 2023-01-05
      • 2014-07-08
      相关资源
      最近更新 更多