1
當我使用ko.toJSON將敲除對象序列化爲JSON,然後使用ko.mapping.fromJSON從JSON反序列化多次時,加載的對象具有這個遞歸增長的__ko_mapping__
屬性。Knockout映射:JSON在映射和保存多次時增長
示例代碼:
var joe = new Person();
for (var i = 0; i < 10; i++) {
var json = ko.toJSON(joe);
joe = ko.mapping.fromJSON(json);
}
簡單的jsfiddle再現它:
我怎樣才能加載和保存多次,而無需序列化JSON形式成長爲巨大?
我正在考慮只是在加載時將__ko_mapping__
屬性設置爲undefined,但是想知道是否有更好的方法或者我缺少的東西。
這是我提交的一個問題的錯誤?
所以在我的實際使用情況下,我加載和保存頁面加載的JSON到HTML5的localStorage。 當我第一次加載頁面時,我應該先創建一個新的空白人,然後將其作爲第二個參數傳遞給'ko.mapping.fromJSON',而不是使用1個參數'fromJSON'? – stephenbez
如果您創建一個新的空白人,請傳遞1個參數:'var joe = ko.mapping.fromJSON(json)'(或'fromJS',如果它是普通的JS對象)。然後,如果您想在之後更新該人員,請使用上面的2個參數。 – sroes