在MVC中存储全局状态变量的位置以及如何传递它
Where to store global state variable in MVC and how to pass it around?
请帮助我理解MVC架构的这一方面。
假设我的应用程序可以处于两种全局状态,视图模式和编辑模式。1/该模式需要保存到后端,所以当应用程序再次加载时,它将处于相同的模式。
2/模式可以在主菜单中更改(这是我的视图代码的一部分)。
3/其他可视元素和模型功能取决于模式状态。某些东西在视图模式下是不可见的,保存的方式也会有所不同。
4/我的应用程序可以按需加载外部模块,这些模块在加载时需要知道模式状态以及它的进一步变化。
由于模块的松耦合,我认为最佳实践是在模式更改时调度事件。我的问题是:我从哪里调度它?变量实际定义在哪里?在模型?在视图?视图和模型代码如何访问这个变量?它是如何在模型和视图之间传递的?在这种情况下控制器的角色是什么?
注意:这并不重要,但我的代码是在JavaScript中,我还没有解决任何框架
不清楚您使用的是哪个平台,但我认为这些建议可能主要是与平台无关的。
首先,这听起来不像是一个真正的应用程序全局状态属性,而更像是一个用户或会话属性。
如果你想让你的应用保持"纯"无状态,这个编辑模式数据应该是你从前端发送和接收的模型/视图模型的一部分。然后,控制器可以读取并响应模式更改,并在将值发送到前端之前适当地修改值。而前端JS也可以根据需要读取和修改该值。
同样,标准会话也应该是可用的,可以使用,但当然,这打破了你的应用程序的"无状态"。
相关文章:
- 将位置变量从Javascript传递到PHP函数
- 通过传递的参数位置获取jQuery中图像的宽度
- 是否可以将一个元素还原为它's上一个位置,而不将该位置作为参数传递
- Skrollr:当滚动位置在最后一个关键帧之后时传递函数
- 将 JavaScript 与 GWT 结合使用来获取用户位置,但变量不会被传递
- 传递 PHP 变量 JavaScript 窗口位置
- 将位置坐标作为变量传递给谷歌地图
- 单击窗口.位置,参数已传递
- 将数组传递给具有地理位置和样式的 Openlayers 3
- 如何将地理位置变量从客户端传递到服务器端
- 使用Google API获取位置的纬度和经度,并传递变量
- 将用户地理位置从客户端传递到服务器端
- 在JSP中传递Google API URL中的当前位置
- 将地图位置信息从PHP传递到javascript,以便与Google地图v3api一起使用
- 在谷歌地图API中将地点ID位置传递到目的地
- 使用windows位置将参数从js传递到.aspx页面
- 如何将Javascript位置(经度和纬度)值传递到Textbox值中
- 如何将谷歌地理位置的坐标传递给另一个函数
- 通过使用Angular JS传递businessName从数组中获取位置值
- 地理位置传递值到url.页面加载操作