私はそれを失っているに違いない。最も単純な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')
そして、私は列車全体を動かします:
<div id="tickets"></div>
<script type="text/javascript">
$(function() {
window.router = new BackboneSupport.Routers.TicketsRouter();
Backbone.history.start();
});
</script>
ご想像のとおり、ルートルート(インデックス)に#tickets
はプレースホルダーテキストが入力され、/ newルート(アドレスバーで確認)に正常に移動しますが、何も警告newTicket
されないため、メソッドはトリガーされません。
ここで何が欠けていますか?
アップデート:
以下のrjzごとに、navigateメソッドを次のように更新しました。
@navigate('/new', {trigger: true})
しかし不思議なことに、それでもアラートはありません:/