【问题标题】:Backbone.js - don't render view/template againBackbone.js - 不再渲染视图/模板
【发布时间】:2011-04-19 16:14:08
【问题描述】:

在我的应用中,我有一个产品列表,当您单击产品时,Fancybox 会打开以显示产品详细信息。

现在,当用户关闭 Fancybox 时,我将 URL 从 '#/product-name' 改回 '#' 并再次呈现产品列表,即使它已经存在。

我的问题是:

如何避免产品列表再次呈现?

因此,在我的控制器的列表操作或列表视图中的某处,我想检查产品列表是否已经呈现并且不再呈现它。

感觉应该可以很容易地完成,但我做不到。

感谢所有想法!

编辑:为澄清而编辑

【问题讨论】:

  • 我不确定这是否可行(所以我只是将其添加为评论):而不是 window.location.replace(''); window.history.back(); 怎么样?
  • 这可能行得通,但我看不出这将如何解决我的问题...

标签: view controller render backbone.js


【解决方案1】:

看看backbone:s saveLocation 方法。它不会触发 hashchange 事件。

【讨论】:

  • 效果很好!现在我终于知道 saveLocation 的用途了。
【解决方案2】:

您只需要更改您的网址的哈希部分。

window.location.hash = ""

【讨论】:

  • 感谢您的提示!但是,最终结果是相同的:索引视图再次呈现。我该如何避免呢?
猜你喜欢
  • 2013-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-19
  • 1970-01-01
相关资源
最近更新 更多