【发布时间】:2015-11-07 03:52:00
【问题描述】:
场景:我有一个带有动态模式对话框的 HTML 页面。页面上的链接会打开对话框,但会根据点击的链接显示不同的内容。对话框内容是使用 AJAX 请求加载的,并且仅包含所需的 HTML - 例如,没有 html 或 head 标签。
在对话框中,有一个“状态”显示和几个日期选择器(例如“已激活”和“已删除”)。随着日期的变化,状态应该更新以根据日期显示当前状态。我能做到,不用担心。
在应用程序中,我有一个状态枚举,并且我希望此对话框中的 JavaScript 使用与服务器端应用程序相同的状态列表。我认为 MVC(服务器端)应该生成一些 JSON,列出枚举条目,例如:
{ "active": "Active", "removed", "Removed" }
现在的问题!如果加载了模态内容,那么将这个 JSON 放在页面中的最佳位置在哪里? 以下是我考虑过的一些选项:
- 我可以将它存储在头部的 var 中,但我不需要它出现在应用程序的每个页面中。
- 当模态加载时,我可以使用模态内容调用的 JS 函数将其插入头部,或将其添加到文档元素。
- 我可以将它存储在状态显示元素的数据标签中。
【问题讨论】:
-
如果 JSON 仅用于模态对话框,为什么需要将它放在其他地方,即对话框之外?或者你想通过其他类似的对话框重用它?
-
这就是我要问的 - 假设我不希望它在需要之前加载;如果它应用于第一个模态对话框的页面并且被所有其他对话框使用,那很好,但它也可以仅包含在对话框中,并且仅在该对话框打开时使用。那么 JSON 会在哪里呢?
标签: javascript html json model-view-controller