【发布时间】:2012-03-07 07:36:57
【问题描述】:
我有一个node.js(服务器)和backbone.js(客户端)应用程序-我可以在页面上加载和初始化我的骨干网应用程序......并初始化路由器,但我的默认路由(“。* ") 没有被调用。我可以在初始化路由器后手动调用 index 函数,但是当我在 Rails 上构建主干应用程序时,我不必采取这一步。
有人知道为什么会这样吗?
添加代码(在咖啡脚本中):
class NodeNetBackbone.Routers.RegistryPatients extends Backbone.Router
routes:
'' : 'index'
'.*' : 'index'
'/index' : 'index'
'/:id' : 'show'
'/new' : 'new'
'/:id/edit' : 'edit'
initialize: ->
console.log 'init the router'
@registry_patients = new NodeNetBackbone.Collections.RegistryPatients()
# TODO: Figure out why this isn't sticking...
@registry_patients.model = NodeNetBackbone.Models.RegistryPatient
# TODO: Try to only round trip once on initial load
# @registry_patients.reset($('#container_data').attr('data'))
@registry_patients.fetch()
# TODO: SSI - why are the routes not getting processed?
this.index()
index: ->
console.log 'made it to the route index'
view = new NodeNetBackbone.Views.RegistryPatients.Index(collection: @registry_patients)
# $('#container').html('<h1>Patients V3: (Backbone):</h1>')
$('#container').html(view.render().el)
【问题讨论】:
-
你能举一些例子来说明你是如何定义你的路线的吗?
-
没有代码示例,我们无法看到可以修复的问题,因此请提供您的代码
-
好吧,我只是预感到一下,但是,默认路由不是
'*.'。只是''(一个空字符串)。
标签: node.js backbone.js coffeescript