Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js 是否可以使用我的主干应用程序修复此竞赛条件?_Backbone.js_Race Condition - Fatal编程技术网

Backbone.js 是否可以使用我的主干应用程序修复此竞赛条件?

Backbone.js 是否可以使用我的主干应用程序修复此竞赛条件?,backbone.js,race-condition,Backbone.js,Race Condition,我的脊梁骨可能会有问题 当用户来回点击左边的链接时,我最终会得到嵌套视图 这通常发生在单击仍在加载视图时 我能做些简单的事情来解决这个问题吗?我曾尝试使用u.debounce(),这在本地非常有效,但一旦我将它放入带有真实数据的测试环境中,我就开始再次获得嵌套视图 编辑:一些代码可能会有所帮助;) 这是左侧两个链接的视图: events: "click" : "close" initialize: => super @close = _.debounce @_close,

我的脊梁骨可能会有问题

当用户来回点击左边的链接时,我最终会得到嵌套视图

这通常发生在单击仍在加载视图时

我能做些简单的事情来解决这个问题吗?我曾尝试使用u.debounce(),这在本地非常有效,但一旦我将它放入带有真实数据的测试环境中,我就开始再次获得嵌套视图

编辑:一些代码可能会有所帮助;)

这是左侧两个链接的视图:

events: 
  "click" : "close"

initialize: =>
  super
  @close = _.debounce @_close, 1500, true

_close: (e) =>
  e.preventDefault() if e
  e.stopPropagation() if e
  id = @model.get('_id') || @model.get('id')
  @publishEvent "!router:route", "fan/#{id}"
这是右侧结果的视图:

attach: ->
  super
  $(".fanViewButton").parents("li:first").addClass("active")
  @initSubViews()
  @updateFanHistory()

initSubViews: ->
  @subview("memberDataView", new GeneralInfo({container:'div.left .row-fluid', model:@model}))
  @subview("fanHand", new FanHand({container: @$el.find('.fanHandContainer'), model: @model}))
  @subview("gatherInfo", new GatherInfo({container: @$el.find('.gatherInfoContainer'), model: @model}))
  @subview("fanScores", new FanScores({container:@$el.find('.center .row-fluid'), model : @model}))
  @setHeight()
如果你需要更多的东西,尽管告诉我,因为我对脊梁骨真的很陌生


谢谢大家:)。

看起来您只是没有删除子视图。如果在close函数上确保移除子视图容器中的任何内容,则应该为您清除DOM。类似于:
$('.subviewContainer').remove()

您可以共享您的代码逻辑吗?当然,很抱歉:)。