imd*_*rek 1 coffeescript backbone.js
我一定是要失去它.我已经设置了最简单的Backbone应用程序,但似乎无法让路由响应.这是我的路由器(在coffeescript中):
class BackboneSupport.Routers.TicketsRouter extends Backbone.Router
initialize: ->
@tickets = new BackboneSupport.Collections.TicketsCollection()
routes:
"/new" : "newTicket"
".*" : "index"
newTicket: ->
alert 'hi, from the new ticket route'
index: ->
// just to prove a point
$('#tickets').html('tickets go here')
@navigate('/new')
Run Code Online (Sandbox Code Playgroud)
我让整列火车继续行驶:
<div id="tickets"></div>
<script type="text/javascript">
$(function() {
window.router = new BackboneSupport.Routers.TicketsRouter();
Backbone.history.start();
});
</script>
Run Code Online (Sandbox Code Playgroud)
正如您所料,根路径(索引)#tickets使用占位符文本填充并成功导航到/新路由(通过地址栏确认),但是,它不会发出任何警报,这意味着该newTicket方法未被触发.
我在这里错过了什么?
更新:
在下面的rjz中,我将导航方法更新为:
@navigate('/new', {trigger: true})
Run Code Online (Sandbox Code Playgroud)
但奇怪的是,仍然没有警报:/
你不应该在你的路线中有前导斜线,你想要这个:
class BackboneSupport.Routers.TicketsRouter extends Backbone.Router
routes:
"new": "newTicket"
".*" : "index"
#...
Run Code Online (Sandbox Code Playgroud)
演示:http://jsfiddle.net/ambiguous/veSDF/1/
从精细手册:
延伸
Backbone.Router.extend(properties, [classProperties])[...]请注意,您要避免在路径定义中使用前导斜杠:
| 归档时间: |
|
| 查看次数: |
407 次 |
| 最近记录: |