jquery - 使用 Backbone.js View remove() 方法和 jQuery 的 fadeOut()

标签 jquery backbone.js coffeescript

我相信我的标题几乎解释了我希望实现的目标,我有一个主干 View ,其中一个事件通过 view.remove() 自行删除

更准确地说:

class Project.Views.MemberView extends Backbone.View
  template: JST['members/member_view']

  events:
    'click .destroy-member': 'removeMember'

  initialize: ->
    _.bindAll(this, "render")

  render: ->
    $(@el).html(@template(member: @model))
    this

  removeMember: ->
    @model.destroy
      data:
        collective_id: gon.collective.id
      contentType: 'application/json'
      success: =>
        @remove() #view.remove() called here

view.remove() 的调用效果很好并且符合预期,但是它会立即从 DOM 中删除元素(View),我认为这不是很好的用户体验。

我需要知道的是,是否有办法用 Jquery fadeOut()包装链接这个对 view.remove() 的调用。我认为这将大大改善用户体验。

这可能吗?

干杯!

最佳答案

为什么不在删除之前调用 fadeOut 呢?我不熟悉 CoffeeScript ,但在调用模型销毁之前,只需执行以下操作:

removeMember: ->
    // whatever el you want to remove, just fade it out. from your code maybe its $(@el) ?:
    @model.destroy
      data:
        collective_id: gon.collective.id
      contentType: 'application/json'
      success: =>
        $(@el).fadeOut()

关于jquery - 使用 Backbone.js View remove() 方法和 jQuery 的 fadeOut(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16570261/

相关文章:

javascript - 主干模型验证未定义的属性

jquery - 在 tr 之前添加行不起作用

javascript - JQuery:查找元素位置

javascript - 单击时将 CSS 边框移至右侧

jQuery通过ajax从下拉框的onchange事件加载表单元素

node.js - Express.js Web 服务器在内存耗尽之前在生产环境中持续 5 分钟

javascript - 事件特定方法在 Backbone.js 中悬而未决?

javascript - Backbone : Handle server response on create

backbone.js - 使用主干从 DOM 中删除项目时出现内存泄漏

javascript - 树莓派 JavaScript 内存泄漏