骨干嵌入式收集事件

时间:2018-11-18 20:01:54

标签: javascript backbone.js

我创建了一个由基本属性(名称,活动)和一个集合(成员)组成的模型(请参阅委派)。

See jsfiddle

fetch方法更新模型并在其上触发同步事件-但我想在嵌入式集合被同步时得到通知(即,在实际情况下,当内部集合被同步时呈现视图)。

我尝试过

this.listenTo(this.get('members'),'sync',function(){...}

,但从未触发相应事件。

触发它的正确方法是什么?

2 个答案:

答案 0 :(得分:0)

  

当您执行 Backbone fetch函数时,它将返回一个   PROMISE,您可以先使用该功能,然后在   fetch完成后,您还可以使用catch   它失败了。

例如:

this.model = new Backbone.Model()
this.model.url ="example"
this.model.fetch().then((data) => { 
    console.log("succes: " + data); // Finished the fetch successfully 
  }).catch((data) =>{ 
    console.log("error: " + data); // The fetch ended in error
  })

输入您的代码

您可以在此部分Backbone.Model.prototype.fetch中使用它,或者如果您的获取函数返回Promise,则在调用模型的获取时使用它。

答案 1 :(得分:0)

我看不到任何可获取集合的代码,因此不会在集合上触发sync。 您应该执行delegation1.get('members').fetch()。为了使它起作用,集合还应该具有自己的URL。