我使用Ember與Electron結合使用。ember本地存儲適配器:如何獲取數據並在其上工作
由於用戶可以爲應用程序定義一些設置,我認爲將設置數據存儲在本地存儲中是一個優雅的想法。
爲此我使用了ember-local-storage適配器。
存儲,刪除和顯示這些數據就像一個魅力BUT 這些設置應該用於某些功能,所以我想讓他們離開本地存儲。 我期待一個數組或JSON對象 - 甚至是本地存儲中顯示的相同格式。但我只收到一個巨大的抽象對象?!
這是我要存儲什麼(例如):
{"identifier":"identifier1","bid":"6653ggd245","name":"test1"}
{"identifier":"identifier2","bid":"kkhd7765vv","name":"test2"}
這是顯示在localStorage的(開發工具):
{"buttons":
{"records":
{"i7lvj":{"id":"i7lvj","identifier":"identifier1","bid":"6653ggd245","name":"test1"},"i80vm":{"id":"i80vm","identifier":"identifier2","bid":"kkhd7765vv","name":"test2"}
}}}
這是我試圖訪問數據:
this.get('store').findAll('buttons').then(function(SavButtons){
console.log(SavButtons);
});// gett all stored buttons
this.get('store').findRecord('buttons','i7lvj').then(function(SavButtons){
console.log(SavButtons.data);
});// get specific button -> works
該數據以生成參數數組用於承諾爲API請求的基礎。 我能做些什麼來獲得可重複使用的結構? 例如: 0:{} RECORD1 1 :{} RECORD2
還是說沒有存儲在應用程序關閉後,也許我失去了一些東西,用戶進行的設置更簡單/更好的辦法。
非常感謝!
您可以嘗試'toArray'方法轉換爲普通數組。或者使用'forEach'遍歷並構建所需的結構並使用本地存儲適配器存儲並檢索它。 – kumkanillam