【问题标题】:Does Backbone.js have something like 'rake routes' from Ruby on Rails?Backbone.js 是否有来自 Ruby on Rails 的“rake routes”之类的东西?
【发布时间】:2013-02-28 03:08:32
【问题描述】:

有没有一种简单的方法可以查看我的 Backbone.js 应用程序在运行时构建的所有路由?

Ruby on Rails 有rake routes,显示如下:

    unicorns GET    /unicorns(.:format)          unicorns#index
             POST   /unicorns(.:format)          unicorns#create
 new_unicorn GET    /unicorns/new(.:format)      unicorns#new
edit_unicorn GET    /unicorns/:id/edit(.:format) unicorns#edit
     unicorn GET    /unicorns/:id(.:format)      unicorns#show
             PUT    /unicorns/:id(.:format)      unicorns#update
             DELETE /unicorns/:id(.:format)      unicorns#destroy

Backbone 有没有等价物?

【问题讨论】:

    标签: ruby-on-rails backbone.js architecture routes


    【解决方案1】:

    您始终可以检查路由器原型/实例routes 属性以获取所有静态声明的路由。因此,如果您不以编程方式生成它们,您将获得最干净的输出:

    console.log( router.routes );
    

    如果您使用this.route() 动态添加路由,那么您应该检查Backbone.History 对象,这将是您应用中使用的完整路由列表;虽然输出有点混乱(路由编译为正则表达式等)。

    console.log( Backbone.history.handlers );
    

    请注意,此属性未记录在案,因此无法保证它将保留在 Backbone 的未来版本中。我只会将其用于调试目的。

    【讨论】:

    • 路由器实例上唯一的属性是我添加的属性和router._callbacks。骨干网 v0.9.2
    • 检查原型内部
    • 哦,那个东西。这不会注册使用 `this.route(routeName, routeName, callback)' 制作的路由
    • 你说得对,我回答时没有检查这个用例。我用动态路线的附加信息编辑了我的答案。
    猜你喜欢
    • 1970-01-01
    • 2011-03-16
    • 1970-01-01
    • 2011-01-03
    • 1970-01-01
    • 2021-03-02
    • 2011-05-03
    • 1970-01-01
    • 2023-03-08
    相关资源
    最近更新 更多