
46
|
第三章
接下來還有另一個問題—目前所有的模型都會共用同一份
Model.records
物件:
assertEqual( Asset.records, Person.records );
這會讓所有模型裡的
records
全部混在一起:
var asset = Asset.init();
asset.save();
assert( asset in Person.records );
解決這個問題的做法,是在每次新增模型時,都設定一份新的
records
物件。
Model.
created()
是建立新物件時會執行的回叫函式,因此我們可以把每組模型物件自己獨有
的一些資訊,設定在這個函式裡:
Model.extend({
created: function(){
this.records = {};
}
});
載入資料
除非你的網頁應用程式能完全獨立的在瀏覽器上運作,否則或多或少都會需要從遠端伺
服器載入資料。一般常見的做法,是在應用系統剛開始執行時,先載入一部分的資料,
剩下的資料,會在使用者完成某些操作後才會載入。載入資料的做法,會隨著應用程式
的型態、資料量的大小而有所不同,有時可能會在一開始載入網頁時,就先載入所有可
能會需要用到的資料。這是種不錯的做法,因為這樣能讓使用者後續在操作系統時,不
需再花時間載入任何資料。不過對很多應用程式而言,這種做法並不可行,因為如果應
用程式需要用到的資料量太大,可能會讓瀏覽器的記憶體不勝負荷。
如果要讓使用者能更靈活順暢的操作你所開發的應用程式,就一定要善用預先載入資料 ...