我必須失去它。我設置了最簡單的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
與佔位符文本,併成功地導航到/新路線(通過地址欄確認),但它不會提示任何事情,這意味着newTicket
方法未被觸發。
我在這裏錯過了什麼?
UPDATE:
每低於rjz,我更新了導航方法:
@navigate('/new', {trigger: true})
但奇怪的是,仍然沒有警覺:/
是。您需要將觸發器選項設置爲true,以導航調用'newTicket'。有關詳細信息,請參閱http://documentcloud.github.com/backbone/#Router-navigate :-) – rjz 2012-04-15 17:06:15
哈!謝謝。看到我的更新,因爲它仍然不啓動新的路線。 – imderek 2012-04-15 17:11:28