В расширении Google Chrome я хочу использовать chrome.storage.local
(в отличие от localStorage), потому что:
- С парами ключ-значение это может быть любой объект (в отличие от только строки)
- Изменения в модели данных с помощью setter
storage.set
могут инициировать прослушиватель событий
Используя storage.set
, как я могу получить имя переменной?
Примечание. Если я не использую setter, я могу сделать storage[v1]
, но изменения в объекте не вызовут прослушиватель событий.
var storage = chrome.storage.local;
var v1 = 'k1';
storage.set({v1:'s1'});
storage.get(v1,function(result){
console.log(v1,result);
//console output = k1 {}
});
storage.get('v1',function(result){
console.log(result);
//console output = {v1:'s1'}
});