Backbone.js模块化设置

Luk*_*ger 6 modularity backbone.js

我是骨干新手,我在这里请求一些帮助,了解我将如何构建我当前的webapp项目.我正在为服务器开发模块化管理面板.面板的每个"页面"都应该是一个打包的"模块",包括控制器,模型和视图.

该面板将包含最初加载的主布局视图,以及基本导航.当用户单击导航上的链接时,页面将通过AJAX加载到布局中.(如果这听起来很愚蠢/有理由不这样做请告诉我:))

由于其他人也会开发这些页面,并且因为它们是模块化的,所以我不知道我将通过AJAX加载的页面中将显示哪些模型,视图和控制器.

我怎样才能最好地与骨干一起做这件事?

我特别想知道如何动态扩展Backbone模型等,以及如何管理(例如)用户离开页面和/或稍后重新访问它.

Backbone是否提供了我可以使用的东西,我是否需要将自己的东西放在一起,是否有更好的方法来做我错过的事情?

Has*_*ith 2

您对问题的思考听起来非常正确。让你的 UI 组件尽可能自包含。观看这个10 分钟的视频,了解有关 UI 组件最佳实践的更多信息。

如果您对 JavaScript 应用程序开发的其他重要问题感兴趣,请查看我发布的BoilerplateJS参考架构,以分享我的经验。其中包含与您描述的类似的示例应用程序(带有组件激活的菜单)。

我对 UI 组件激活、停用的建议是:

  • 不要删除/创建 DOM 组件。与隐藏/显示一起重用,因为即使从 DOM 中删除后,您的元素也会重新记录在内存中
  • 尽量减少在客户端保留“状态”信息。当用户重新访问该组件时,通过服务器调用刷新它,然后使其可见(使用服务器作为状态信息的单一事实)。

有关更多详细信息,请参阅 BoilerplateJS 示例组件实现。我知道很少有人将它与 BackboneJS 一起使用(目前它与 knockoutJS 一起提供)。我们将在 v0.2 中使用 BackboneJS 发布一个示例,该示例将在一周内到期。

  • 在 BoilerplateJS 上,我们添加了一个使用 BackboneJS 进行 MVC 的示例组件。查看示例 TODO 组件:http://boilerplatejs.org/samples/productsuite/index.html#todo。您可以在 GitHub 上找到提交的代码。 (2认同)