IT/Vue

vuejs infinite load with router-view 이전 상태 기억방법

bepuri 2021. 2. 1. 14:46
728x90
<keep-alive :include='["Home", "NoticeList"]'>
	<router-view v-if="!isLoading" :has_profile.sync="has_profile" />
</keep-alive>

 

:include에는 router에 등록해준 view의 컴포넌트 이름을 추가해주면 해당 뷰만 캐시된다.

이전의 상태 정보를 기억하게 한다는것은 사실 매우 까다로운 일인데, 이렇게 간단하게 해결할 수 있다는걸 보고 새삼 놀라웠다.

 

이 문제 때문에 pagination으로 고칠까도 생각했다가, 이렇게 해결할 수 있는 방법이 있다는걸 알고 약간의 헤맴을 통해서 해결했다.

 

쓰면 쓸수록 vue와 django의 조합은 엄청 난것 같다.

validation 처리만 좀 더 간단해지면 좋을듯한데, 처음 접근하는 사람은 django의 다양한 error message 포맷으로 인해서 약간 헤맬 수 있을듯하다.

 

form validation error는 field명으로

serializer단의 validation 에러는 detail에 담겨서 오기 때문에, 조금 헷갈릴수 있음.

가끔 detail에 담기지 않고 그냥 넘어오는 경우도 있다.

 

이 부분을 잘 처리해줘야지 그렇지 않으면 사용자 입장에서는 에러임에도 에러인지 모르는 경우가 발생할 수 있다.

 

728x90