目錄渲染問題

来源:7-20 书城列表页开发

齊帥

2022-01-05

老師請問可以講解一下這邊目錄渲染的邏輯嗎?搞不太明白這個flatNavigation的作用,還有這個doFlatNavigation的作用

 <div class="book-detail-content-item" v-for="(item, index) in flatNavigation" :key="index" @click="read(item)">
              <div class="book-detail-content-navigation-text"
                   :class="{'is-sub': item.deep> 1}"
                   :style="itemStyle(item)"
                   v-if="item.label">{{item.label}}
              </div>
</div>

      flatNavigation() {
        if (this.navigation) {
          return Array.prototype.concat.apply([], Array.prototype.concat.apply([], this.doFlatNavigation(this.navigation.toc)))
        } else {
          return []
        }
       },
 
      doFlatNavigation(content, deep = 1) {
        const arr = []
        content.forEach(item => {
          item.deep = deep
          arr.push(item)
          if (item.subitems && item.subitems.length > 0) {
            arr.push(this.doFlatNavigation(item.subitems, deep + 1))
          }
        })
        return arr
      },


写回答

1回答

扬_灵

2022-01-06

同学你好,你可以在页面中打印一下这里flatNavigation,doFlatNavigation,就是对数据做了一次处理//img.mukewang.com/szimg/61d649010912d4ba14261184.jpg

0
3
齊帥
非常感谢!
2022-01-06
共3条回复

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

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

1623 学习 · 1951 问题

查看课程