使用backbone.marionette和requireJs的Web应用程序的循环依赖关系

2024-03-22

我处于以下情况。

我正在使用 requireJs 加载模块,并且不想使用全局变量。

main.js 负责加载路由器。
然后路由器加载应用程序,应用程序加载几个子应用程序。

一切都初始化后,子应用程序需要router制作router.navigate.

这里的架构:

main.js -> router -> app -> subApp -> router

然后我遇到了循环依赖问题,因此 subApp 中的路由器将是未定义的。

组织代码或解决此问题的最佳方法是什么? 有这方面的例子吗?


架构:

 main.js -> router -> app -> subApp -> router

是对的。

如果您正在使用骨干木偶 https://github.com/derickbailey/backbone.marionette/blob/master/docs/marionette.application.md,以便从应用程序和子应用程序访问路由器,而不使用global var,您应该以这种方式在路由器中启动应用程序:


// router.js
YourApp.start(router: router);

// app.js
YourApp.addInitializer(function(options){
  // do useful stuff here
  var myView = new MyView({
    router: options.router
  });
  YourApp.mainRegion.show(myView);
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用backbone.marionette和requireJs的Web应用程序的循环依赖关系 的相关文章