0

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

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 类视图中的相关代码片段。这不会从数据库或列表视图本身中删除“风险”模型。我该怎么做?删除所有计划后,事件 allSchedulesRemoved 会正确触发。我希望从视图和数据库中删除相关的风险。

4

1 回答 1

1
  1. 你不必总是打电话super
  2. 有内置的@risks.each()方法可以遍历集合。
  3. 不建议放入fetch()render()
  4. 要清除集合,您可以执行几个操作@risks.remove(risk),或者在销毁所有内容后,reset使用空对象执行集合。
  5. risk.destroy实际上向您的后端发送删除请求,因此是否在服务器中删除它取决于您的后端代码。
于 2013-04-08T19:32:46.547 回答