0

我喜欢 Django 做主题的方式。它允许在应用程序中定义“本地”url,然后将它们包含在项目级根 url 配置中并为它们定义前缀。
Like - 本地 url 是: that/<id>,this/<slug>/和整个应用程序的全局前缀 - verygoodapp/.

在 Backbone.js 中,这可以通过函数root的参数来完成History.start()

但在这种情况下,我需要
History.start({root: arbitraryUrlPrefixForThatAppPassedAsArgFromAboveLocalSpace})
在每个应用程序中做。
可以吗?js 大师是如何做到的?

upd
我写了那个并意识到我可能只需要写:

function(urlRoot) {
  var MyRouter = Backbone.Router.extend({
    routes: {
      urlRoot + 'content/:slug': 'openArticle'
    },
    ...
  });
}

在全球项目空间中只做History.start()一次。尚未测试。
upd2
现在我认为像 Django 中这样的 url 反向解析使用 Backbone 实现也很酷。AFAIK 骨干路由器确实在一些集中的内部设施中注册了它们的路由。

4

0 回答 0