【问题标题】:Backbone/Javascript remove element from domBackbone/Javascript 从 dom 中删除元素
【发布时间】:2012-02-23 07:31:12
【问题描述】:

我有一个包含两个 div 类的页面,这很好。一个是集合,另一个是项目。

但是当我想选择编辑时,我需要删除项目视图并将其替换为编辑链接,这不会发生并且它会留在那里,下面是我的编辑类会很棒。

Supernote.Views.Notes ||= {}



class Supernote.Views.Notes.EditView extends Backbone.View

 template : JST["backbone/templates/notes/edit"]



 events :

 "submit #edit-note" : "update"



 update : (e) ->

  e.preventDefault()

  e.stopPropagation()



  @model.save(null,

   success : (note) =>

    @model = note

    window.location.hash = "/#{@model.id}"

  )



  render : ->

   $(@el).html(@template(@model.toJSON() ))



  this.$("form").backboneLink(@model)



  return this

【问题讨论】:

    标签: javascript backbone.js coffeescript


    【解决方案1】:

    你能发布更多的代码吗?当您说“编辑链接”时,您是指 DOM 中的某个内容,还是地址栏中的 url。

    当你调用@model.save时,Backbone会自动用服务器返回的属性更新模型的属性,所以

    @model = note
    

    不是必需的。但是,如果您没有将模型上的“更改”事件绑定到任何东西,那么如果模型发生更改,视图将不会更新。

    您是否使用 Backbone 路由器来处理 location.hash 中的更改?

    您可以通过调用 @remove() 从 DOM 中删除视图 如果你想用一些东西替换它,你也可以调用 $(@el).replace(...)。

    【讨论】:

      猜你喜欢
      • 2022-12-31
      • 2011-08-28
      • 1970-01-01
      • 2014-09-01
      • 2011-01-04
      • 2013-05-19
      • 1970-01-01
      • 2013-09-17
      • 1970-01-01
      相关资源
      最近更新 更多