评论记录按列表存储.每一条评论记录保留对父级评论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
})
})
在初始化数据时对数据进行格式化处理,可以提高网页性能.避免在渲染模板时不断的循环查询数据.