chrome.storage.local.set 使用可变键名 [英] chrome.storage.local.set using a variable key name
本文介绍了chrome.storage.local.set 使用可变键名的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在 Google Chrome 扩展程序中,我想使用 chrome.storage.local
(相对于localStorage)因为:
In a Google Chrome Extension, I want to use chrome.storage.local
(as opposed to localStorage) because:
- 使用键值对,值可以是任何对象(而不是仅字符串)
- 使用 setter
storage.set
更改数据模型可以触发事件侦听器
- 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
,我如何获得可变键名?
Using storage.set
, how can I have a variable key name?
注意:如果我不使用setter,我可以做storage[v1]
,但是对对象的更改不会触发事件监听器.
Note: If I don't use the setter, I can do storage[v1]
, but changes to the object won't trigger the event listener.
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'}
});
推荐答案
这是您要找的吗?
var storage = chrome.storage.local;
var v1 = 'k1';
var obj= {};
obj[v1] = 's1';
storage.set(obj);
storage.get(v1,function(result){
console.log(v1,result);
//console output = k1 {v1:'s1'}
});
storage.get('v1',function(result){
console.log(result);
//console output = {v1:'s1'}
})
这篇关于chrome.storage.local.set 使用可变键名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文