我有一个Marionette应用程序,它由一系列步骤组成,每个步骤对应一个不同的视图,每个步骤在导航栏中都有一个锚标记。
<a href="#toolbox">Select Tools</a>
<a href="#payment">Pay</a>
我目前的努力是找到构建网址的最佳方式,以便Marionette.AppRouter
可以响应它们。每当我使用像href="/toolbox"
这样的方案时,页面只会尝试导航到该URL(绕过路由器),除非我阻止锚的默认操作。我应该使用像href="#toolbox"
这样的片段方案吗?或者,我应该以不同的方式设置Backbone.history.start()
来电吗?这里的最佳做法是什么?
答案 0 :(得分:3)
我所做的是使用&#34; #toolbox&#34;作为href
,但我仍然在点击事件上调用preventDefault
。
那样:
基本上,一旦路由被加载并且用户在内部&#34;内部&#34;你的木偶应用程序,路线不应再被触发。相反,应该通过事件调用控制器动作来修改应用程序的显示。有关此路由的更多信息(请参阅&#34;实施路由&#34;):http://samples.leanpub.com/marionette-gentle-introduction-sample.pdf