2012-02-22 39 views
10

我的主幹應用程序的一個特點包括B型,這是由視圖中的拖放到視圖B.在B的視圖類來完成我聽的模型關聯型的模型丟棄事件和由此我得到的觀點A的DOM元素,但沒有關於模型A.使用jQuery UI拖/ Backbone.js的具有下降

什麼是去檢索這些信息的最佳方式的信息?我最好的猜測至今都

  • 有模型中的保存在應用程序的命名空間對自身的引用,取消對拖到底該參考,如果降處理器並沒有這樣做
  • 火視圖中的一個事件,傳遞一個參考與事件一起
  • 存儲模型的模型B,然後將具有模型的呼叫模型B的方法...作爲視$。數據屬性的

但所有這些方法似乎令人費解/不雅。

+0

如果您可以獲取DOM元素,DOM元素是否以任何方式與模型的id關聯?像元素的id,或者你設置的某個數據字段? – kinakuta 2012-02-22 23:01:03

+0

沒有。這將是一個相當好的方法,但是當模型已經與視圖錯綜複雜地鏈接在一起時,我寧願不用id搜索 - 忽視模型然後必須找到它似乎是浪費的再次。 – wheresrhys 2012-02-22 23:03:53

+0

我知道你的意思,但是這兩個模型之間的交互是虛幻的 - 模型只是數據的表示,實際上發生的事情是DOM事件觸發。從DOM獲取數據似乎是一個必要步驟,因爲模型實際上沒有任何改變。 – kinakuta 2012-02-22 23:38:02

回答

4

存儲作爲數據屬性其實是相當乾淨,而且性能也不會差。您可以將模型的cid屬性存儲爲DOM el上的data-cid,並使用集合的getByCid方法檢索模型。

0

我覺得去了解它是作爲在評論中提及kinakuta與使用例如ID中的模型DOM元素相關聯的清潔方式一個data-attribute

這是有道理的,從觀看的實施點,因爲它可以讓你有一個雙向依賴,你可以很容易稍後當你的應用程序beccomes更復雜的引用從另一個。

你提到的解決方案,將工作爲好,不過,我覺得解決方法A似乎有點hackish的,方案B是不乾淨的代碼明智和解決方案C是基本相同,使用數據屬性。