我正在创建为我的页面添加过滤器的小部件。我保留有关在本地存储中添加过滤器的信息,但是当我尝试解码JSON时会发生魔力。它需要双json解析再次成为数组对象。
以下是代码:( this.filters是这样的数组:["filter_id", "filter_id2"]
等。)
getFilters: function() {
var json_str = localStorage.getItem("debt_filters");
// BUG with quoting: json => array requires double parse :/
this.filters = JSON.parse(JSON.parse(decodeURIComponent(json_str))) || [];
},
setFilter: function() {
var json_str = this.createFilterJson();
localStorage.setItem("debt_filters", json_str);
},
createFilterJson: function() {
return encodeURIComponent(JSON.stringify(this.filters));
},