为多模块Javascript网站应用Backbone.js
Apply Backbone.js for multi-module Javascript Website
我正在写一个基于模块的javascript网站,由Mysql数据库支持。
每个模块通过PHP与DB对话。在UI上,为了简单起见,左边的模块将显示所有相关行,并具有编辑(写)功能。右边的模块显示来自同一数据库的数据,也具有写访问权限。所以在每次更新中,每一个都会影响另一个。
我听说主干是一个很好的框架。然后,我阅读了todos示例,并理解了如何有item->itemList, view->viewList等…
但现在的问题是,我如何将其应用于这种情况?
在这种情况下,哪个是项,哪个是视图?
左边的模块和右边的模块是视图,每个视图都可以由其他视图组成。
在模型中不存储对视图的引用(就像我在一些示例中看到的那样):
this.view = view; //view being passed in as an arg
反过来(视图存储对模型的引用)是可以的。视图应该完成大部分工作,监听和响应模型事件。因此,在视图initialize
方法中,您可以:
model.bind("interesting-event", function(){
//the view updates/reacts to the model.
});
同样,永远不要将一个模型添加到两个集合中(只添加一个)。当一个模型被分配给一个集合时,Backbone在该模型上设置一个指向所属集合的引用。
顺便提一下,a-model不能属于两个集合的问题是您不希望模型引用其视图的原因。一个模型可以在一个屏幕上有多个视图。Backbone非常适合您的需求。从一个非常基本的应用版本开始,然后不断充实它。一直在线阅读Backbone。我读了我能找到的所有东西(不是很多,不是真的)。关键概念是简单的基于事件的编程(很像您在VB或许多其他平台中使用的)。这是一个不断尝试和错误的过程,但你会通过实践来理解它。
相关文章:
- 在非SPA(单页应用程序)中使用Require.js和Backbone
- 使用Backbone.js和Undercore.js的应用程序
- Backbone应用程序中的多个jQueryAjax调用会混淆数据
- 在Backbone.js应用程序中使用lodash而不是下划线
- Backbone Js加载部件中的应用程序
- Backbone.js应用程序使用CommonJS结构与node.js和客户端协同工作
- 用于backbone.js应用程序的Node.js
- backbone.js单页应用程序中的引导程序教程
- 为Backbone.js应用程序设计依赖注入系统的范围界定问题
- 如何处理 Backbone .js应用程序中哈希更改的滚动位置
- 如何在 Backbone / Underscore 上应用 jQuery timeago 或 easydate
- 如何为不同的用户组运行两个版本的 Backbone.js 应用程序
- 如何使用 Backbone.Marionette 构建用于将项目创建到列表中的应用程序
- 使用Backbone.js在待办事项中对数据集合进行分页.js Web应用程序
- RESTful Backbone 应用程序中 JSON 的预期结构是什么?
- 如何在Backbone.js应用程序中使用jQuery多选插件
- 为什么获胜't这个简单的backbone.js应用程序不能持久化并读取到本地存储
- 在backbone应用程序中重新加载主干视图和i18n翻译文件
- 在Backbone/Require应用程序中使用Router和inniew渲染嵌套视图
- 为多模块Javascript网站应用Backbone.js