評論記錄按列表存儲.每一條評論記錄保留對父級評論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
})
})
在初始化數據時對數據進行格式化處理,可以提高網頁性能.避免在渲染模板時不斷的循環查詢數據.