更新localstroage中的值

时间:2017-09-12 08:25:32

标签: javascript angularjs arrays

我在AngularJs localstroage中存储了以下值。如果存在EmpNo,如何将EmpNo更新为其他值。

{"EmployerDetails":{"Distance":30,"EmpLatitude":51.3353899,"EmpLongitude":-0.742856,"EmpNo":4,"Insitution":null,"PlaceName":"Camberley","TalentPoolLicences":[{"Membership":[{"Identity":4,"Name":"Test School Account"}],"TalentPoolType":1},{"Membership":[{"Identity":2,"Name":"North East Hampshire"},{"Identity":4,"Name":"Surrey"},{"Identity":8,"Name":"Surrey"}],"TalentPoolType":3}]},"FacetFilters":{"LastActivity":0,"LocationFilterType":1,"fullorparttime_pex":null,"membership_tpl":["E4","R2","R4","R8"],"religion":null,"soughtphase_swk":null,"soughtrole_swk":null,"soughtsubject_swk":null},"LookingFor":null,"OrderBy":null,"PageIndex":1,"PageSize":40}

我在下面尝试过,但它没有工作:

localStorage.setItem(localStorage.key(0).EmployerDetails[EmpNo],999);

2 个答案:

答案 0 :(得分:0)

您需要检索本地存储的值,然后按如下所示进行更新,

function MyNerdToggle()
    if &filetype == 'nerdtree'
        :NERDTreeToggle
    else
        :NERDTreeFind
    endif
endfunction

nnoremap <C-\> :call MyNerdToggle()<CR>

答案 1 :(得分:0)

本地存储只能保存字符串内容。您无法直接更新存储在其中的对象的值。

存储JSON。

var data = {
  "value": 1
};

localStorage.setItem('json', JSON.stringify(data));

更新值

var data = JSON.parse(localStorage.getItem('json'));

data.value = 2; // vaue gets updated

再次存储

localStorage.setItem('json', JSON.stringify(data)); // store updated value

这是它的工作原理。