Vue中DOM异步更新的解决方案——$nextTick

Vue异步更新DOM:$nextTick解决音频播放问题
本文介绍了在Vue中遇到DOM异步更新导致的音频播放错误,详细解释了audio.play()与VueDOM更新的同步性差异,并提出通过$nextTick解决此类问题,确保DOM更新后再执行音频播放操作。

html:

<body>
<div id="app">
    <audio ref="audio" :src="url" controls></audio>
    <span>第 {
  
  {index}} 首歌</span>
    <button @click="changeUrl">切歌</button>
</div>
</body>

js:

<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
    const musicList = [
        'http://aqqmusic.tc.qq.com/amobile.music.tc.qq.com/C4000013WPvt4fQH2b.m4a?guid=7543705016&vkey=870D49ACC6A725B134C7E6053AA8EAA7C85CDC8F46763C01A377BDD2C833329CC9849424A49D905DCA5F6707B5A4FE8B79A0727DC3AB275F&uin=&fromtag=38',
        'http://aqqmusic.tc.qq.com/amobile.music.tc.qq.com/C400003mBrF72dILfK.m4a?guid=7543705016&vkey=6C977963F96F1D904AD8C5507BC4C5251B6CCAB12AED45AE7CC3B14EBC397583E860EC0747F43D5AA58A6EEF5E26C3E363DC2B813DB1223C&uin=&fromtag=38',
        'http:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值