从DOM分离数据的最佳方法

时间:2011-05-22 22:21:31

标签: javascript jquery model-view-controller architecture

我有这个时间跟踪/任务管理工具我正在处理名为Task Ranger。基本上,您可以创建一个任务和子任务树,单击您当前正在处理的任务,并跟踪您完成该任务的时间。

我想添加一个功能,用户可以查看特定日期范围的时间(即“我上周花了多少时间?”)我想我想要一个标签,我可以单击从“主”视图跳转到“历史记录”视图。

现在的问题是,我现在通过简单地将所有内容存储在DOM中并将整个html结构转储到localStorage来保存我的数据。为了使历史视图起作用,我需要将数据与html分开,对吧?我想MVC框架是这样做的典型方式,对吧?我正在看Backbone,但我觉得这可能有点矫枉过正了。我想也许我应该推出自己的简单小事。你觉得怎么样?

我现在正在使用Javascript + Jquery。

1 个答案:

答案 0 :(得分:2)

Backbone与MVC一样轻巧。如果我要编写自己的微MVC框架,它将在一周内转换为骨干网。

我强烈建议使用Backbone来编写自己的,因为它结构良好且松散耦合。您只能使用所需的主干功能。由于你已经包含了jQuery,因此包含主干的开销很小。

Backbone非常适合构建和组织代码。

您可以使用backbone-localstorage适配器将模型保存到localStorage。

然后,您可以保存所有模型的待办事项,或者从RESTful服务器获取历史记录视图。

backbone的可靠替代方案是spine,它也是一个轻量级的MVC库。 Spine有更传统的MVC态度,只有2kB