chrome.storage.local.set使用变量键名称 [英] chrome.storage.local.set using a variable key name
本文介绍了chrome.storage.local.set使用变量键名称的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在Google Chrome扩展程序中,我想使用 chrome.storage.local
(与localStorage相对),因为:
- 键值对,值可以是任何对象(而不是字符串)
- 使用setter
storage.set $ c $更改数据模型c>可以触发一个事件监听器
使用 storage.set
我有一个可变的密钥名称?注意:如果我不使用setter,我可以执行 storage [v1]
,但是更改为该对象不会触发事件监听器。
var storage = chrome.storage.local;
var v1 ='k1';
storage.set({v1:'s1'});
$ b 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);
$ b storage.get(v1,function(result){
console.log(v1,result);
//控制台输出= k1 {v1:'s1'}
});
$ b storage.get('v1',function(result){
console.log(result);
//控制台输出= {v1:'s1'}
})
In a Google Chrome Extension, I want to use chrome.storage.local
(as opposed to localStorage) because:
- 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
Using storage.set
, how can I have a variable key name?
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'}
});
解决方案
Is this what you where looking for?
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屋!
查看全文