做博客评论系统的一些总结

2017-11-09  本文已影响5人  mochase

评论记录按列表存储.每一条评论记录保留对父级评论id 的引用.
(而不是用树形结构来表示)
这样可以同时优化前端 UI 展示以及数据结构的设计.

<span v-if="item.parent !== 0" >回复 {{idToContentMap[item.parent] !== undefined ? idToContentMap[item.parent]['author_name'] : ''}}</span> 说:

mustache 模板引擎和 v-if 指令似乎是分开解析的,并没有一个类似 promise 的东西来保证 v-if 为 false 时,跳过{{expression}}里 expression 的执行.

      this.commentList.forEach(v => {
        this.$set(this.idToContentMap, v.id, {
          'author_name': v['author_name'],
          'content': v['content'].rendered
        })
      })

在初始化数据时对数据进行格式化处理,可以提高网页性能.避免在渲染模板时不断的循环查询数据.

上一篇 下一篇

猜你喜欢

热点阅读