自己搭了一个 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 了。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.