2013-04-12 37 views
1

任何人都可以告訴我爲什麼這段代碼不會創建一個條目到localstorage嗎?試圖使用Sencha Touch將值傳遞到本地存儲2.1.1

myLocalStore.load(); 

    var now = new Date(); 
    var cardId = (now.getTime()).toString() + (this.getRandomInt(0, 100)).toString(); 

    var entry1 = { id: cardId, dateCreated: now, title: 'The Title', narrative: 'the Text' }; 
    var newRecord = new PinYin.model.Default(entry1); 
    myLocalStore.add(newRecord); 

    myLocalStore.sync(); 

    console.log(entry1); 

控制檯輸出

Object{id: "136575772251069", dateCreated: Fri Apr 12 2013 17:08:42 GMT+0800 (Taipei Standard Time), title: "The Title", narrative: "the Text"}

這是正確的格式,所以林不知道我做錯了什麼......

如果我更換myLocalStore.add(取值範) ;用myLocalStore.add('value');

的話,我會得到以下輸入到本地存儲

{"id":"ext-record-1","dateCreated":null,"title":null,"narrative":null}

回答

0

我面臨同樣的情況,結果發現這樣的解決方案,

首先,如果設置「idProperty 「模型領域,刪除它。

之後,使用以下約定。

myOfflineStore.add([{ listItemId: record.data.listItemId, 
         listItemTitle: record.data.listItemTitle, 
         listItemImageCode: record.data.listItemImageCode,  
         listItemNewPostCount: record.data.listItemNewPostCount }]); 

使用[,]是關鍵點。

編輯:如果你想使用idProperty,那麼你就需要設置新添加的記錄爲「幻影」與設置幻影=真

0

嘗試像這樣...

 var airline_name = res[i].AirLineName; 
localStorage.setItem("AirlineCode3two",record.get('AirlineCode32')); 

     var stored_locally2 = {'ID2': i,'AirLineName2': res[i].AirLineName,}; 

      //Adding our array to LocalStore(localStorage) 
         var localstore2 = Ext.getStore('TwowayStorage'); 

         var twowayc1=localstore2.getCount(); 
         localstore2.add(stored_locally2); 
         localstore2.sync(); 
         localstore2.load();