我有一个带有require.js,backbone.js和jquery的web应用程序。
该应用的简要结构如下:更改我的backbone.js路由器
有屏幕(工具栏和下面主要内容)2个部分。
有多个组件(地址管理,事件管理),每个组件都由一个哈希碎片更改触发,并且需要一个 页面转换。
- 有一个backbone.js路由器。这是应用程序的核心。路由器被激活一个新的哈希片段(手动输入, 后退按钮,菜单项选择)。
直到现在,在路由器中,我做了页面转换,我直接调用了所选组件的控制器(“骨干视图”)。
所以有一个CENTRAL处理控制器调用。
但是现在必须改变为DISTRIBUTED处理。我现在需要响应来自两个不同位置的新哈希碎片:从工具栏组件和路由器。
所以我的想法是与pub sub交换直接控制器调用机制。现在MULTIPLE组件可以注册一个特殊的动作,而路由器只是“触发事件”。
我搜索周围,发现Chaplin(https://github.com/moviepilot/chaplin),backbone.js示例应用程序。
卓别林的开发商似乎有一个名为“ApplicationView”(https://github.com/moviepilot/chaplin#toc-router-and-route)一个类似的事情:“路由器和控制器之间,还有的ApplicationView作为 调度程序”
有没有人已经拥有过这样的架构,并且可以告诉我他在这方面的经验,或者有人以其他方式解决了这个问题?