私はそれを失っている必要があります。私は最も簡単なバックボーンアプリを設定しましたが、ルートを返すようには見えません。ルートに応答していないバックボーン
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')
そして私はで移動全体の列車を得る:ここに私のルータは、(CoffeeScriptの中で)だ
<div id="tickets"></div>
<script type="text/javascript">
$(function() {
window.router = new BackboneSupport.Routers.TicketsRouter();
Backbone.history.start();
});
</script>
あなたが予想されるように、ルートルート(インデックス)はプレースホルダーテキストで#tickets
を移入し、正常にナビゲート(アドレスバーを介して確認された)/ newルートには、何も警告しません。つまり、newTicket
メソッドがトリガされていないことを意味します。
私はここで何が欠けていますか?
UPDATE:
以下rjzパー、私は更新されNavigateメソッドへ:
@navigate('/new', {trigger: true})
しかし、不思議なこと、まだありません警告:/
である。 'newTicket'を呼び出すためには、トリガオプションをtrueに渡したいと思うでしょう。詳細については、http://documentcloud.github.com/backbone/#Router-navigateを参照してください。 – rjz
ハ!ありがとう。私の更新を参照してください、それはまだ新しいルートを起動しません。 – imderek