vueストレージstorgeにブール値を含むソリューション
vueストレージstorgeにはブール値が含まれています。
今日は一つの問題が発生しました。バックグラウンドから戻ってきたtrueとfalseをstorgeに預けて、この値を格納して論理的に判断します。
locastorgeにデータを保存すると、セーブしたbook値が文字列になります。最初に保存したbollan値ではありません。
文字列になりました。
どう解決しますか?
一:先端を一回転化する
問題の説明
最近の仕事では、locastorgeを使って、いくつかの共有変数を貯蓄しています。結果として、ブール値を保存する時、多くの問題に遭遇しました。
一般的には、以下のようにアクセスします。
最終解決方法
locastorgeまたはsessionstogeがブール値データを記憶すると、取ったデータは文字列'true''false'となり、このタイプのデータを記憶する時にvalueを0,1に設定し、値を取る時にNumber(locastorge.getItem('key')を使って、その後の判定を行うことを推奨する。
具体的なコードは以下の通りです。
保存値:
local Strageとsession Storrageは文字列タイプのオブジェクトしか記憶できません。JSでよく使われている配列やオブジェクトは直接保存できません。
JSONオブジェクトから提供されるパーミッションとストリングifyによって他のデータタイプを文字列に変換してstorgeに格納すればいいです。
コードは以下の通りです
保存値:
今日は一つの問題が発生しました。バックグラウンドから戻ってきたtrueとfalseをstorgeに預けて、この値を格納して論理的に判断します。
locastorgeにデータを保存すると、セーブしたbook値が文字列になります。最初に保存したbollan値ではありません。
文字列になりました。
どう解決しますか?
一:先端を一回転化する
if (localStorage.getItem(' ') == 'true') {
//
' ' = true
}
あるいはセーブする時は、ブーメラン値ではなく、数字や他のもので代用して判断すればいいです。
// true
if (true) {
localStorage.setItem(' ', 1)
}else {
localStorage.setItem(' ', 2)
}
//
if (localStorage.getItem(' ') == 1) {
//
}else {
//
}
locastorgeブール値の一次ピット問題の説明
最近の仕事では、locastorgeを使って、いくつかの共有変数を貯蓄しています。結果として、ブール値を保存する時、多くの問題に遭遇しました。
一般的には、以下のようにアクセスします。
localstorage.setItem('key', value);//
localstorage.getItem('key');//
しかし、ブール型のデータを記憶する際には、locastorgeに記憶されているブーメランのデータが文字列になっているため、「true」=trueおよび「false」=false、「true」=falseの表示がfalseであるため、何度も試してみましたが、問題点が見つかりませんでした。最終解決方法
locastorgeまたはsessionstogeがブール値データを記憶すると、取ったデータは文字列'true''false'となり、このタイプのデータを記憶する時にvalueを0,1に設定し、値を取る時にNumber(locastorge.getItem('key')を使って、その後の判定を行うことを推奨する。
具体的なコードは以下の通りです。
保存値:
if (this.isChecked) {
//0:checked
localStorage.setItem("checked",0);
} else {
//1:not checked
localStorage.setItem("checked",1);
}
値を取る:
getFlag:function(){
var flag=Number(localStorage.getItem('checked'));
if(flag==0){
this.flag=true;
}else if(flag==1){
this.flag=false;
}
}
まとめ:local Strageとsession Storrageは文字列タイプのオブジェクトしか記憶できません。JSでよく使われている配列やオブジェクトは直接保存できません。
JSONオブジェクトから提供されるパーミッションとストリングifyによって他のデータタイプを文字列に変換してstorgeに格納すればいいです。
コードは以下の通りです
保存値:
localStorage.setItem("flag_data",JSON.stringify(flagData));
値を取る:
var flag_data=JSON.parse(localStorage.getItem("flag_data"));
以上は個人の経験ですので、参考にしていただければと思います。