【发布时间】:2017-12-21 16:45:00
【问题描述】:
我有一个任务,我需要通过 JavaScript 渲染博客的内页。
页面具有无限滚动功能。
在初始页面加载时,我通过 HTML 中的 JSON 字符串 获取初始帖子的所有数据,然后使用 JavaScript 呈现它。
对于下一页(无限滚动),我需要调用 API,然后它会返回相同的 JSON 字符串 用于下一篇文章。
我的问题是 - 我应该如何甚至应该使用 MVC 来实现这一点?我对这个概念还很陌生,仍在尝试正确的方向。
我现在正在考虑以下设置。
data.js - 一个对象,我将在其中存储从 JSON 字符串获取的所有数据,并且当我进行调用时,它将具有 update(APIJSON) 方法从 API 更新自身.
template.js - 只是模板文字 - 接受日期,返回 HTML。
view.js - 在 constructor 中将 data.js 作为 this.data,然后有 >render 方法获取模板返回的 HTML,并通过 innerHTML 将其放入内容中。
model.js - getPost() 方法调用 api,返回数据。
controller.js - 这是我不确定在这里做什么的部分。控制器是否应该监听滚动事件,如果我到达页面末尾,它应该告诉模型执行 getPost(),然后查看执行 render()?如何将我从模型的 getPost() 获得的数据传输到我的视图 render() 中?我似乎无法从 XHR 请求内部调用视图?
我错过了什么吗?或者也许我对 MVC 工作原理的整个概念是错误的?我需要的只是有人让我走上正轨,剩下的我会自己做。真的很喜欢 JavaScript,几个月前才开始学习。
【问题讨论】:
标签: javascript jquery html model-view-controller model