我有一个应用程序,它主要是通过锚标记链接的传统静态 HTML 页面,但最近我一直在使用 JS 添加越来越多的动态行为。
我需要以隐藏/显示/为每个“屏幕”创建不同元素的形式在众多 UI 状态之间“兼顾”。(假设主页和整页博客文章。)
如果我只有 2 个状态,这很容易,但随着添加越来越多的“屏幕”而变得复杂。
问题: 我将如何组织各种 UI 状态以便在它们之间直接切换?
我有一个应用程序,它主要是通过锚标记链接的传统静态 HTML 页面,但最近我一直在使用 JS 添加越来越多的动态行为。
我需要以隐藏/显示/为每个“屏幕”创建不同元素的形式在众多 UI 状态之间“兼顾”。(假设主页和整页博客文章。)
如果我只有 2 个状态,这很容易,但随着添加越来越多的“屏幕”而变得复杂。
问题: 我将如何组织各种 UI 状态以便在它们之间直接切换?
如果您在管理 UI 状态时遇到很多复杂问题,这很可能表明应用程序逻辑与 UI 处理的耦合过于紧密。如果在某些地方您需要检查 UI 的状态以决定应用程序逻辑应如何反应,这一点尤其明显。
随着它变得越来越复杂,您可能需要考虑使用某种 MVC 模式来解耦 UI。或者更好的是,使用预先构建的框架,例如Knockout.js。
我会使用 JavaScriptMVC,它是一个轻量级框架,在过去一年左右的时间里投入了大量工作。通过拥有客户端 mvc,您可以设置两个不同的视图并轻松地在它们之间切换。
您可能还想研究 sproutcore