chrome.storage.local.set使用变量键名称 [英] chrome.storage.local.set using a variable key name

查看:167
本文介绍了chrome.storage.local.set使用变量键名称的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在Google Chrome扩展程序中,我想使用 chrome.storage.local (与localStorage相对),因为:


  1. 键值对,值可以是任何对象(而不是字符串)
  2. 使用setter storage.set 可以触发一个事件监听器

使用 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:

  1. With key-value pairs, the value can be any object (as opposed to string only)
  2. 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆