使用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应用程序的循环依赖关系 的相关文章

随机推荐

  • HTML5代码元素-语言类

    HTML5 code 元素有一个可选的 class language 属性 https html spec whatwg org multipage semantics html the code element定义代码片段的语言 规范中的
  • 像 Uber Android 一样在地图上旋转标记和移动动画

    我正在从事一个类似于 UBER Lyft 或 OLA 的项目 家里的地图上有可用的移动汽车 我正在寻找某种图书馆 它可以让汽车像 UBER 一样顺利移动和转弯 现在 我可以使用下面的代码将汽车从一个经纬度平稳地移动到另一个纬度经度 但棘手的
  • 在 Windows CE 5 上安装我的程序

    我正在完成 Windows CE 5 的应用程序 我想知道在 CE 5 设备上安装该应用程序的最简单方法是什么 在 VS8 中点击 发布 会生成一个安装程序 但该安装程序与 CE 5 不兼容 在 Windows CE 5 上安装应用程序的简
  • 在 QThread 中启动 QTimer

    我正在尝试在特定线程中启动 QTimer 但是 计时器似乎没有执行 也没有打印任何内容 与定时器 槽或线程有关吗 main cpp include MyThread h include
  • 在设定的字符数和长度下,可以有多少个唯一的字符串?

    如果我有两个角色 a b 和长度为三 aaa aab 我如何计算我可以用它组成多少个唯一的字符串 以及数学方法是什么 它是否正确 val 1 amountCharacters 2 length 3 for i 1 i lt length i
  • bash:〜/ .bash_profile:没有这样的文件或目录[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我不断收到此错误 bash bash profile No such file or directory 这是我的 bash pr
  • 如何忽略 Snakemake 的“自上次执行以来参数已更改”?

    由于 conda 环境不活跃 工作流程的一些非常晚的作业崩溃了 现在 当我尝试使用重新运行时snakemake deploy all ignore incomplete所有作业都会从头开始重新运行 原因如下 Reason Params ha
  • 如何在c++中显示实时时间

    有人可以告诉我如何在 C 中显示实时时间吗 我的意思是 当程序运行时 您可以看到秒和 或分钟倒计时 就像挂在墙上的真实时钟一样 这就是我所拥有的 int main time t rawtime creates and object of t
  • 通过 SOCKS 代理使用 Hadoop?

    所以我们的Hadoop集群运行在一些节点上 并且只能从这些节点访问 您可以通过 SSH 连接到它们并完成您的工作 因为这很烦人 但 可以理解 没有人会尝试配置访问控制 以便某些人可以从外部使用它 我正在尝试下一个最好的方法 即使用 SSH
  • Javascript - 如何查找希伯来语?

    我正在尝试查找字符串是否以 RTL 语言 希伯来语开头 第一个字母 有任何想法吗 这将找到编码在以下内容中的希伯来字母Hebrew http www alanwood net unicode hebrew htmlUnicode 代码点范围
  • 对 numpy.c_ 文档和示例代码感到困惑

    我多次阅读有关 numpy c 的文档 但仍然感到困惑 据说 将切片对象转换为沿第二轴的串联 在下面的文档中 谁能在下面的示例中澄清什么是切片对象 什么是第二轴 我看到它们都是一维的 并且混淆了第二轴的来源 在 Windows 上使用 Py
  • PHP $_SERVER['SERVER_NAME'] 正确使用

    菜鸟问题在这里 我正在使用 php 构建一个交互式网站 并且我决定制作一个交互式菜单 嗯 我的菜单包含一个名为 menu php 的文件 我不知道为什么 但是当我点击这个链接时 它看起来像这样 http localhost mysite 本
  • SEGMENT_START("text-segment", 0x400000) 代表什么?

    我正在学习可执行二进制文件的布局 我的最终目标是分析特定可执行文件中可以重构 在其源代码中 以减少编译输出大小的内容 我一直在使用https www embeddedlated com showarticle 900 php https w
  • Django 检查相关对象是否存在错误:RelatedObjectDoesNotExist

    我有一个方法has related object在我的模型中需要检查相关对象是否存在 class Business base name models CharField max length 100 blank True null True
  • cocos2d v3 在应用程序使用过程中重新定向屏幕

    所以在 cocos2d 中 我相信我使用的是 v2 1 我这样做是为了锁定和设置方向 AppDelegate delegate AppDelegate UIApplication sharedApplication delegate con
  • 条目 Xamarin Forms PCL 上的边框半径

    有没有办法在 Xamarin 的 XAML 中的条目上设置边框半径 或者使用自定义渲染器或其他东西 到目前为止我尝试过的所有方法都没有效果 但对于我的应用程序来说 如果我有圆形边框会更好 预先感谢您的答复 PS 我查过了这个帖子 https
  • 如何“取消观看”表达式

    假设我有一个带有大数组的 ng repeat 当 ng repeat 运行时 它会将该数组的每个元素添加到一个隔离的作用域中 并将数组本身包含在一个作用域中 这意味着 digest 检查整个数组的更改 最重要的是 它检查每个单独的元素在该数
  • 如何将 tf.metrics.__ 与估计器模型预测输出一起使用

    我尝试遵循tensorflow API 1 4文档来实现我在学习过程中所需要的 我现在在这个阶段 可以生成一个预测对象 例如 classifier tf estimator DNNClassifier feature columns fea
  • JSF GAE:托管 bean 方法中的值更新问题

    我有以下一段简单的代码h outputText指向一个int and a p commandLink设置一个值
  • 使用backbone.marionette和requireJs的Web应用程序的循环依赖关系

    我处于以下情况 我正在使用 requireJs 加载模块 并且不想使用全局变量 main js 负责加载路由器 然后路由器加载应用程序 应用程序加载几个子应用程序 一切都初始化后 子应用程序需要router制作router navigate