NodeBB如何显示一条post

这里主要写一条post从数据库拿出到显示在页面上的过程以及在看源码的过程中记录的一些知识点。

数据走向图

posts数据从数据库到页面展示.jpg
  • 首先还是去找了之前的data,

    • ajaxify.loadData(url,function(err,data))

    • 当我们点击category的时候,data存储跳转到的页面所需的所有信息,即该分类下的所有topic的信息。

    • 当我们点击topic的时候,data存储该topic下所有的posts信息。

  • 点击topic数据怎么处理的

    • /src/database/hash.js中有函数getObjects()数据库获取posts数组。

    • /src/posts.js中有函数getPostsByPids()在这里调用了getObjects()函数。将posts数组嵌套在对象posts属性中,还加上了uid属性,表示当前点击topic的用户标识。

    • /src/topics.js中有函数getMainPostsAndRepies()调用了getPostsByPids()以及/src/topic/posts.js目录下的topics.addPostData();将用户信息整合嵌套在posts中返回。

    • /src/topics.js中有函数getTopicWithPosts(),调用了
      getMainPostsAndRepies()

    • /src/controllers/topic.js中有函数topicsController.get(),调用了
      getTopicWithPosts(),得到数据之后,res.render('topic',data);将数据添加到模板上,然后渲染到页面上。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,665评论 19 139
  • Kafka入门经典教程-Kafka-about云开发 http://www.aboutyun.com/threa...
    葡萄喃喃呓语阅读 10,987评论 4 54
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,237评论 25 708
  • 有一段时间,我把画画给忘了,忘了那个沉寂在黑白线条之间的时光。因为现实太精彩,太复杂,没有闲暇的心情去坐下来跟自己...
    凛樱念蝶阅读 399评论 4 1
  • A是我的室友,也是我们班的班长。她是一个有想法、行动力强、很有组织和领导能力的女生,工作能力颇受好评。 可是最近,...
    Vickiki阅读 1,110评论 1 1

友情链接更多精彩内容