簡體   English   中英

來自模型的backbone.js / access視圖

[英]backbone.js / access view from model

如何從backbone.js中的模型訪問視圖。

我很想在model.change()上重新渲染視圖。

將視圖添加到模型的屬性是禁忌。

為什么需要從模型中訪問其更改時的視圖?

在您的視圖中,只需綁定:

this.model.bind('change', this.modelChanged, this) // (event, function, context)

從現在開始,當模型發生變化時,將自動調用視圖的modelChanged方法。


在版本> 0.9中 ,正確的語法在視圖中將如下所示。

this.model.on('change', this.modelChanged, this) // (event, function, context)

您可以使用以下兩種綁定之一:

this.model.bind('change', this.modelChanged)

this.model.bind('refresh', this.modelRefreshed)

檢查文檔以查看差異。

view屬性添加到模型中還有另一個潛在的難題。 模型可能由多個視圖表示。 發生這種情況時,您必須將view屬性更改為(數組) views 這是哈利編碼。 一旦我看到可能涉及到多個視圖,我就開始做這件事並實現了我的失禮。 我意識到這只是處理發布者 - 訂閱者模式的另一種方式。

其他人很高興將模型和視圖引用作為雙向通信的手段。 Gravel-Niquet在他的Todos示例應用程序中這樣做。 Lerner在2011年6月的Linux Journal上發表關於Backbone.js的文章中提出了這一點。 也許是一個偏好的問題,但我和pawlik在一起。 堅持活動; 這就是他們的目的。

暫無
暫無

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

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