2011-11-07 56 views
2

我有這個骨幹模型:Backbone.js - 解耦數據源?

graphModel 
attributes 
    country 
    indicator 
    year 

與相應的視圖:

graphView 
render() 
    this.model.get(...) 

該應用程序還具有向其CSV數據被加載的一般數據源:

dataSource 
    indicators 
    indicatorA 
     country 
     year 
    indicatorB 
     countries 
     years 

每次模型屬性發生了變化,我想檢查是否加載了該屬性組合的數據,然後觸發更改事件。

我的問題是:將數據源與Backbone模型和視圖分離的好方法是什麼,以便我可以輕鬆地嘗試注入模擬數據?

回答

0

當你談論應用程序有一個數據源填充CSV數據時,無論你是在談論Backbone然後與客戶端進行交談的應用程序的服務器端,我都不清楚。

但是無論如何。我可以談談我們的一些解耦問題的經驗。我們常常建立模型,並使用骨幹有「默認」值,就像從骨幹文檔這個例子能力:

VAR膳食= Backbone.Model.extend({ 默認:{ 「開胃菜」:「凱撒沙律」, 「entree」:「ravioli」, 「dessert」:「cheesecake」 } });

使用預先填充好的模型,我們可以將視圖綁定到模型並將該數據呈現給頁面。同樣,如果你有任何其他的源代碼可以輕鬆獲得你想要的數據(一個罐頭文件可以用jQuery的.load()函數加載,或者文本區域的內容可以通過模型的.set( )功能)。