Marionette Routing的默认锚操作

时间:2013-05-23 02:00:28

标签: javascript html backbone.js url-routing marionette

我有一个Marionette应用程序,它由一系列步骤组成,每个步骤对应一个不同的视图,每个步骤在导航栏中都有一个锚标记。

<a href="#toolbox">Select Tools</a>
<a href="#payment">Pay</a>

我目前的努力是找到构建网址的最佳方式,以便Marionette.AppRouter可以响应它们。每当我使用像href="/toolbox"这样的方案时,页面只会尝试导航到该URL(绕过路由器),除非我阻止锚的默认操作。我应该使用像href="#toolbox"这样的片段方案吗?或者,我应该以不同的方式设置Backbone.history.start()来电吗?这里的最佳做法是什么?

1 个答案:

答案 0 :(得分:3)

我所做的是使用&#34; #toolbox&#34;作为href,但我仍然在点击事件上调用preventDefault

那样:

  • 该应用处理导航,只是更新网址片段
  • 用户可以在新窗口中打开链接(或加载书签)并登陆预期的页面(因为路由由路由控制器触发)

基本上,一旦路由被加载并且用户在内部&#34;内部&#34;你的木偶应用程序,路线不应再被触发。相反,应该通过事件调用控制器动作来修改应用程序的显示。有关此路由的更多信息(请参阅&#34;实施路由&#34;):http://samples.leanpub.com/marionette-gentle-introduction-sample.pdf