当我在集合中保存更改的模型时,Backbone.Backgrid进入PUT请求循环。循环仅在我在PUT请求中返回更新(或旧)模型时发生,但在仅返回200响应时则不会发生。
这是我的事件代码,它监听Backgrid更新并触发该行的保存:
AppRouter = Backbone.Router.extend(
# ...
initialize: ->
@items = new Stock.Collections.Items() # collection with URL: /api/items
@items.on 'change', (item) ->
console.log 'collection changed'
console.log(item)
item.save() # this seems to be triggering additional change events
return
# ...
为什么我的视图集合会在保存时循环播放,如何阻止它进入香蕉?
答案 0 :(得分:2)
在阅读Backbone和Backgrid来源后,我通过在我的收藏集中更改了silent
来设置save()
选项来解决此问题,以便通过提升循环播放model.set()
传播改变事件:
item.save null,
silent: true # important!
success: (model, res) ->
console.log('model saved:')
console.log(model)
error: (model, res) ->
console.log('error saving:')
console.log(model)