问题标签 [backbone-routing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
329 浏览

backbone.js - 如何在单页应用程序中正确切换复杂的主干应用程序

我有几个复杂的视图/应用程序,它们共同构成了一个大应用程序。

想想 gmail,你有邮件和联系人或 twitter,从个人资料视图切换到设置 在我的例子中,这是一个游戏,你可以在其中玩一个视图和一个地图编辑器。

我想在它们之间切换而无需在大主应用程序中重新加载。

现在我正在努力解决如何实现两件事的概念:

  • 如何正确切换(解除绑定事件,拆除所有视图)而不泄漏
  • 当所有子应用都可以有自己的导航项时,如何组织路由。

具体问题:

有一个gameApp和一个editorApp

如果我在“#game/12345/details/”并切换到“#editor/map/123”,应该会发生以下情况:

1) 主路由通知app切换 2) 拆掉游戏app和所有子视图/事件 3) 切换并初始化editorApp 4) editorApp路由到map 123,加载数据

考虑到额外的路由参数,主路由器会是什么样子我应该使用子路由器吗?我是否应该将游戏应用程序留在内存中并隐藏它?一个函数如何处理路由?

我知道这是很多东西,但也许你可以在教程/设计模式/.. 网站上指导我?

这个用主干.js 清洗视图?似乎是切换应用程序的一种选择,但对子路由没有帮助

0 投票
1 回答
2742 浏览

backbone.js - 视图中选项卡的主干子路由

我有两个选项卡的视图。单击选项卡时,我想:

  1. 显示选项卡
  2. 将哈希更改为#view/tabName

#view/tab1如果和之间的哈希值发生变化#view/tab2,则不会触发路由,但视图会显示tab2。如果哈希值从#anotherView变为#view/tabName,则路由将触发,并使用初始选项卡tabName呈现视图。

总而言之,当哈希在具有相同前缀的哈希之间发生变化时#view视图将处理该事件,否则由路由器处理。

这是我当前的代码。

0 投票
2 回答
499 浏览

javascript - BackboneJS 路由

我的应用程序的索引页面位于http://cms/admin(我在本地主机上)。在索引页面上只有一个a元素:

当我单击链接时,它转到/cms/admin/test

我想使用 BackboneJS 的路由机制将我的应用程序转换为对 ajax 友好的应用程序,但直到现在我才能做到。这是我的 JS 代码:

当我运行该页面并单击该链接时,它不会将任何内容记录到控制台并且浏览器会跟随该链接。页面加载后,它会记录“它在这里”消息。

我已经在没有根参数的情况下尝试过,“/admin/test”而不是“test”。我尝试了各种组合:“test”、“/test”、“test/”、“/admin/test”、“admin/test”等。

谢谢。

0 投票
3 回答
1943 浏览

javascript - 不调用主干路由

我有一个使用 Backbone 0.5.3 的工作应用程序,它不再使用主干 0.9.2 工作。

我发现 Router.navigate() 出于某种原因没有调用我的路由。

这是我的路由器:

像这样手动调用路由可以正常工作:

我还尝试覆盖主干的 .navigate 方法来调试我的应用程序...

...似乎调用了 .navigate 但是...

...只是不调用路线。

我正在使用 PushState,这是我最初的电话:

已经在没有 root 和 silent 参数的情况下尝试过 - 没有成功。

同样:这适用于 Backbone 0.5.3。

感谢大家留下回复!

阿奇姆

0 投票
1 回答
2888 浏览

backbone.js - Backbone.js 和导航

由于骨干没有做大多数事情的方式,我对很多事情感到困惑。其中一件事是浏览我的应用程序的正确方法。

我意识到 BB 路由器有一个 '.navigate' 方法,可用于推送 url 和触发路由。现在,由于我的应用程序有超过 1 个路由器,我不确定在一个或其他路由器上调用“.navigate”之间有什么区别。

这是我的路由器

现在我可以做

我用于全球应用导航的路由器有什么不同吗?这对我来说似乎很奇怪。

0 投票
2 回答
5317 浏览

backbone.js - Backbone.js - 大型站点的动态路由

我计划将主干 + 要求用于具有 30 多个模块的应用程序。我打算创建类似这样的东西,而不是为每个模块创建单独的路线。

不确定这是最佳实践。请指导。

0 投票
1 回答
1109 浏览

javascript - Backbone.js - 映射标准 url 参数 - 使用多个参数

我对backbone.js 很陌生,并试图将普通的javascript/jquery 应用程序转换为主干MVC。有了它,我来到了 Backbone.Router,我目前正在尝试用主干解决我的旧 URL 处理,但是我想和你讨论一些问题:

我的传统 URL 模式如下所示:

这与骨干看起来如何以及如何对其进行编码?

问题是,我的传统处理方式允许我在不关心参数顺序的情况下评估我的 URL 字符串。有了骨干,这似乎是不可能的。对于我的应用程序,它需要在 url 中传递类别(参见cats=..)等,以链接到特定的应用程序位置/状态。

我已经用 pid (panorama-id) 试过了,所以模式是这样的:

“全景”目前没有参数,而是代表应用程序中的某个页面。

如果有人为我找到解决方案,我将非常感激。

0 投票
1 回答
276 浏览

backbone.js - Backbone JS:带有空参数的路由

我有一条路线。

这个:

完美运行,但如果 URL 是:

我的路由器不理解它并且不执行任何操作。有谁知道如何解决这一问题?

0 投票
1 回答
308 浏览

javascript - Backbone.Router 接受查询和路径

我希望我的 Backbone.Router 实例监听诸如“#/settings”和“#/settings/privacy”之类的 hashbang

目前我这样处理这个问题:

我现在只想在一条路线上完成这一切。不幸的是 'settings/:query' 只允许 'settings/'

有人知道如何处理这个吗?

问候

0 投票
1 回答
190 浏览

ruby-on-rails-3.2 - 具有自定义默认路由的骨干路由器

我想在视图上启动一个主干应用程序,该应用程序已经由 Rails 呈现。

这是我的路由器代码

然后在渲染视图中,我启动应用程序

但是,如果我打开页面

路由器不进入“索引”状态。

我错过了什么吗?