我已经创建了一个由基本属性(名称、活动)和一个集合(成员)组成的模型(请参阅Delegation)。
See jsfiddle
fetch方法更新模型并在其上触发一个sync事件-但我希望在嵌入的集合同步时得到通知(即在真实的情况下,当内部集合同步时呈现视图)。
我试过这个
this.listenTo(this.get('members'),'sync',function(){...}
但相应的事件永远不会触发。
什么是正确的方法来触发它?
我已经创建了一个由基本属性(名称、活动)和一个集合(成员)组成的模型(请参阅Delegation)。
See jsfiddle
fetch方法更新模型并在其上触发一个sync事件-但我希望在嵌入的集合同步时得到通知(即在真实的情况下,当内部集合同步时呈现视图)。
我试过这个
this.listenTo(this.get('members'),'sync',function(){...}
但相应的事件永远不会触发。
什么是正确的方法来触发它?
2条答案
按热度按时间zu0ti5jz1#
当你执行Backbone的
fetch
函数时,它返回一个PROMISE,你可以使用该函数然后在fetch
完成的那一刻启动一个函数,你也可以在它失败的时候使用catch
。例如:
对于您的代码:
你可以在这部分中使用它Backbone.Model.prototype.fetch,或者如果你的fetch函数返回一个Promise,在调用模型的fetch时使用它。
oxiaedzo2#
我没有看到任何获取集合的代码,因此
sync
没有在集合上被触发。您应该执行delegation1.get('members').fetch()
。要使其正常工作,集合也应该有自己的URL。