保存了进度但是百分比不能更新的问题

来源:5-5 阅读进度功能实现(保存阅读进度功能)

慕莱坞9699021

2019-10-09

你好,我想问一下保存了进度但是百分比不能更新的问题。
代码如下,在mounted的时候调用initPage方法

initPage () {
      this.book.ready.then(() => {
        return this.book.locations.generate(750 * (window.innerWidth) / 375) * (getFontSize(this.setFileName) / 16)
      }).then((res) => {
        this.setBookAvailable(true)
        this.refreshLocation()
      })
    },

refreshLocation的代码如下

refreshLocation () {
      console.log(this.currentBook.rendition.currentLocation())
      const currentLocation = this.currentBook.rendition.currentLocation()
      const startCfi = currentLocation.start.cfi
      const progress = this.currentBook.locations.percentageFromCfi(startCfi)
      this.setProgress(Math.floor(progress * 100))
      setLocation(this.fileName, startCfi)
    },

报错如下
Uncaught (in promise) TypeError: Cannot read property ‘currentLocation’ of undefined

之前回答的是加一个非空判断即可,但是报错的地方是在获取的时候,也就是调用this.currentBook.rendition.currentLocation()的时候报错,就算是加了非空判断也是会报错的,而且无法获取到电子书的当前页,请问该如何解决呢?

写回答

1回答

Sam

2019-10-10

你好,这个问题可能是epubjs版本的问题,你的epubjs版本用的是0.3.71吗?

0
2
慕莱坞9699021
或者有群聊之类的老师帮忙解决一下问题吗?
2019-10-10
共2条回复

Vue 实战商业级读书Web APP完整项目

Vue全家桶+最新前端技术+前后端分离架构,完整项目流程

1610 学习 · 1951 问题

查看课程