P粉7647859242023-08-04 00:36:22
@Jared의 도움으로 이 문제를 해결했습니다.
모델의 현재 상태를 저장하고 다른 페이지로 리디렉션할 때 다시 로드하기 위해 localStorage를 사용했습니다.
궁극적으로 저는 localStorage 객체에서 데이터를 읽고 저장하는 save...와 load...라는 두 가지 주요 기능을 가지고 있습니다. Jared가 댓글에서 말했듯이 JSON은 함수를 문자열화할 수 없으므로 모델의 모든 데이터(예: isLogged 변수)를 저장하는 data라는 개체를 만들었습니다.
이제 모델의 데이터에 액세스하려고 할 때마다 먼저 모델의 인스턴스를 얻습니다. let model = Model.getInstance() 그런 다음 반환된 init 함수에서 메서드에 액세스할 수 있습니다. Model 인스턴스를 요청하면 먼저 현재 인스턴스가 초기화되었는지 확인합니다. 초기화되지 않은 경우 load_localStorage 함수를 호출하여 localStorage에서 데이터를 읽어 data 변수에 저장합니다.
다른 페이지로 리디렉션하기 전에, 리디렉션된 페이지가 이전에 저장된 상태를 읽을 수 있도록 Model 인스턴스의 saveData 함수를 호출하여 데이터 객체를 localStorage에 저장합니다.
HTML 파일에 다음과 같은 js 파일을 포함했습니다: <script src="./../model/model.js"></script>.
더 읽기 쉬운 코드를 포함하는 더 나은 솔루션이 있을 것이라고 확신하지만 이 방법은 제게는 충분히 효과적입니다. :)