【问题标题】:Deleting a backbone collection both from the view and the server从视图和服务器中删除骨干集合
【发布时间】:2013-04-08 16:09:48
【问题描述】:

努力使以下代码在管理主干集合的视图中工作:

class VGStream.Views.Scenarios.ScheduleRisks extends Backbone.View
  template: JST['backbone/templates/scenarios/schedule_risks']

  initialize: (options) ->
    super
    Backbone.pubsub.on 'allSchedulesRemoved', @removeAllScheduleRisks, @

  removeAllScheduleRisks: =>
    for risk in @risks.models
      risk.destroy
    @render()

  render: ->
    super
    @risks.fetch()
    @$el.html @template @
    @

我只是从 Coffeescript 类视图中显示相关代码 sn-p。这不会从数据库或列表视图本身中删除“风险”模型。我该怎么做?删除所有计划后,事件 allSchedulesRemoved 会正确触发。我希望同时从视图和数据库中删除相关风险。

【问题讨论】:

    标签: backbone.js collections coffeescript


    【解决方案1】:
    1. 您不必总是打电话给super
    2. 有内置的@risks.each() 方法来循环遍历集合。
    3. 不建议将fetch() 放入render()
    4. 要清除集合,您可以执行多个@risks.remove(risk),或者在销毁所有内容后,reset 带有一个空对象的集合。
    5. risk.destroy 实际上是向你的后端发送删除请求,所以它是否在服务器中被删除取决于你的后端代码。

    【讨论】:

      猜你喜欢
      • 2013-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多