共计 591 个字符,预计需要花费 2 分钟才能阅读完成。
自己搭了一个 audiobookshelf
服务听点有声读物,发现章节列表无法定位到当前章节,调试了一下找到问题了,但是作为一个后端,vue 实在是不熟,感觉这不到 100 行的代码里涉及很多 vue 知识点,一下子不知道如何修复。。
我看了下,大概是 27 行这里点击 LabelViewChapters
https://github.com/advplyr/audiobookshelf/blob/master/client/components/player/PlayerUi.vue#L27
弹出一个窗口,代码在这个文件
https://github.com/advplyr/audiobookshelf/blob/master/client/components/modals/ChaptersModal.vue#L71
然后调用 scrollToChapter
滚动到正在播放的章节,但是 document.getElementById
找不到当前章节的 dom,导致逻辑停止,我在 this.$nextTick(this.scrollToChapter)
外面包一个 setTimeout
问题就解决了,所以问题还是出在查找前 dom 还没渲染出来的问题上?但是不知道如何不用 setTimeout
解决。
大家可以在这里讨论如何解决,也可以直接去提交 pr,4.9K star 的项目还是很不错的,下次说不定你就可以拿 $111 了。
正文完