vue 저장 storage 시 불 값 을 포함 하 는 솔 루 션
오늘 문제 가 발생 했 습 니 다.배경 에서 돌아 온 true 와 false 를 storage 에 저장 한 다음 에 저 장 된 이 값 으로 논리 적 으로 판단 해 야 합 니 다.그러나 계속 판단 이 잘못 되 었 습 니 다.나중에 자 료 를 찾 아 보 니 알 수 있 습 니 다.
localstorage 에 데 이 터 를 저장 할 때 저 장 된 boolean 값 은 처음에 저 장 된 boolean 값 이 아니 라 문자열 로 변 합 니 다.
다 문자열 이 됐어 요.
그럼 어떻게 해결 할 까요?
1.전단 으로 전환
if (localStorage.getItem(' ') == 'true') {
//
' ' = true
}
또는 저장 할 때 boolean 값 으로 저장 하지 말고 숫자 나 다른 것 으로 대체 한 다음 에 판단 하면 됩 니 다.
// true
if (true) {
localStorage.setItem(' ', 1)
}else {
localStorage.setItem(' ', 2)
}
//
if (localStorage.getItem(' ') == 1) {
//
}else {
//
}
localstorage 에서 불 값 을 저장 하 는 구덩이문제 설명
최근 작업 에서 localstorage 를 사용 하여 공 유 된 변 수 를 저장 한 결과 불 값 을 저장 할 때 많은 문제 가 발생 했 습 니 다.
일반적인 상황 에서 입 출금 은 다음 과 같 습 니 다.
localstorage.setItem('key', value);//
localstorage.getItem('key');//
그러나 불 형 데 이 터 를 저장 할 때 localstorage 에 저 장 된 boolean 데 이 터 는 모두 문자열 로 바 뀌 었 기 때문에'true'=true 와'false'===false,'true'==false 디 스 플레이 는 모두 false 로 여러 번 시도 해 보 았 지만 문제점 을 찾 지 못 했다.최종 해결 방법
localstorage 나 sessionstorage 가 불 값 데 이 터 를 저장 할 때 가 져 온 데 이 터 는 문자열'true''false'로 바 뀌 었 습 니 다.이 유형의 데 이 터 를 저장 할 때 value 를 0,1 로 설정 하고 값 을 추출 할 때 Number(localstorage.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;
}
}
요약:localStorage 와 sessionStorage 는 문자열 형식의 대상 만 저장 할 수 있 고 JS 에서 자주 사용 하 는 배열 이나 대상 에 대해 서 는 직접 저장 할 수 없습니다.
JSON 대상 이 제공 하 는 parse 와 stringify 를 통 해 다른 데이터 형식 을 문자열 로 바 꾸 고 storage 에 저장 하면 됩 니 다.
코드 는 다음 과 같 습 니 다:
저장 값:
localStorage.setItem("flag_data",JSON.stringify(flagData));
값:
var flag_data=JSON.parse(localStorage.getItem("flag_data"));
이상 은 개인 적 인 경험 이 므 로 여러분 에 게 참고 가 되 기 를 바 랍 니 다.여러분 들 도 저 희 를 많이 응원 해 주시 기 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Fastapi websocket 및 vue 3(Composition API)1부: FastAPI virtualenv 만들기(선택 사항) FastAPI 및 필요한 모든 것을 다음과 같이 설치하십시오. 생성main.py 파일 및 실행 - 브라우저에서 이 링크 열기http://127.0.0.1:...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.