chrome.storage.local.set используя имя переменной ключа

В расширении Google Chrome я хочу использоватьchrome.storage.local (в отличие от localStorage), потому что:

With key-value pairs, the value can be any object (as opposed to string only) Changes to the data model using setter storage.set can trigger an event listener

С помощьюstorage.setКак я могу иметь имя ключа переменной?

Примечание. Если я не использую сеттер, я могу сделать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'}
});

Ответы на вопрос(2)

Ваш ответ на вопрос