簡體   English   中英

骨干嵌入式收集事件

[英]Backbone embedded collection event

我創建了一個由基本屬性(名稱,活動)和一個集合(成員)組成的模型(請參閱委派)。

見jsfiddle

fetch方法會更新模型並在其上觸發同步事件-但是我想在嵌入式集合被同步時得到通知(即,在實際情況下,當內部集合被同步時呈現視圖)。

我試過了

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

但是相應的事件永遠不會觸發。

觸發它的正確方法是什么?

當您執行Backbonefetch功能時,它將返回一個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,則在調用模型的提取時使用它。

我看不到任何可獲取集合的代碼,因此不會在集合上觸發sync 你應該做的delegation1.get('members').fetch() 為了使它起作用,集合還應該具有其自己的URL。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM