我正在开发一个使用PhoneGap / Backbone.js / Thorax和Lumbar.js的应用程序。
我想在应用程序启动时显示一个div,然后为用户会话的其余部分隐藏div。目前,用户可以从启动屏幕导航,单击x关闭div并停留在屏幕上,或者单击链接到新屏幕的div中间。
在发生这些操作之一之后,我希望在会话的其余部分隐藏div。
下面是较少的代码片段(在coffeescript中)
车把模板:
<ul class="content-filter clearfix">
<li><a href="" data-tab-friends>Friends</a></li>
<li><a href="" data-tab-everyone>Everyone</a></li>
</ul>
<div class="panel post-box content-filter" id="friendBox" data-tab-friendbox>
<div class="panel-exit" data-tab-banner-exit>
x
</div>
<div id="find-people" data-tab-banner>
<p>Find People You Know</p>
</div>
</div>
{{#collection item-template="posts/item" item-view="posts/item" id="posts-scrollable"}} {{/collection}}
{{view infiniteLoadView}}在视图中,我能够在单击x时关闭div,并在单击div时导航到新屏幕:
"click [data-tab-banner]": (event) ->
userId = Application.UserSession.userId()
if userId
Backbone.history.navigate "users/" + userId + "/follow_suggestions", { trigger: true }
"click [data-tab-banner-exit]": (event) ->
userId = Application.UserSession.userId()
if userId
@$el.find('div[id="friendBox"]').remove()但是当我回到初始屏幕时,div又出现了。
我如何使这只出现在应用程序启动,然后隐藏为其余的会话?
发布于 2014-08-11 23:50:32
我建议把{replace: true}传给Backbone.history.navigate,这样它就变成了
Backbone.history.navigate "users/" + userId + "/follow_suggestions", { trigger: true, replace: true }引用自文档
若要更新URL而不创建浏览器历史记录中的条目,请将替换选项设置为true。
因此,用户无法导航回此状态
https://stackoverflow.com/questions/25254033
复制相似问题