首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在主干中:如何在应用程序启动时进行div呈现,然后为会话的其余部分隐藏?

在主干中:如何在应用程序启动时进行div呈现,然后为会话的其余部分隐藏?
EN

Stack Overflow用户
提问于 2014-08-11 23:32:36
回答 1查看 75关注 0票数 0

我正在开发一个使用PhoneGap / Backbone.js / Thorax和Lumbar.js的应用程序。

我想在应用程序启动时显示一个div,然后为用户会话的其余部分隐藏div。目前,用户可以从启动屏幕导航,单击x关闭div并停留在屏幕上,或者单击链接到新屏幕的div中间。

在发生这些操作之一之后,我希望在会话的其余部分隐藏div。

下面是较少的代码片段(在coffeescript中)

车把模板:

代码语言:javascript
复制
<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时导航到新屏幕:

代码语言:javascript
复制
"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又出现了。

我如何使这只出现在应用程序启动,然后隐藏为其余的会话?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-11 23:50:32

我建议把{replace: true}传给Backbone.history.navigate,这样它就变成了

代码语言:javascript
复制
Backbone.history.navigate "users/" + userId + "/follow_suggestions", { trigger: true, replace: true }

引用自文档

若要更新URL而不创建浏览器历史记录中的条目,请将替换选项设置为true。

因此,用户无法导航回此状态

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25254033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档