
최근에 프로젝트 에서 이러한 문제를 만났 고 , 우리의 시스템 에서 , 프로젝트 의 개념 이 있으며 , 사용자는 여러 프로젝트를 만들 수 있으며 , 각 프로젝트 에는 여러 환경 이 있으며 , 사용자가 프로젝트 이름을 클릭 하면 프로젝트 의 내부 페이지 로 들어가 며 , 왼쪽 메뉴 모 음 에는 환경을 전환 하는 기능 이 있습니다 .각 환경 에는 기사 , 사용자 , 역할 및 파이 프 라인 과 같은 많은 리 소 스가 있습니다 .
그런 다음 프로젝트 의 환경을 전환 한 후 현재 페이지 에 머물 고 현재 환경 의 기사 , 사용자 , 역할 등 에 대한 데이터를 가져 오 도록 요청 합니다 . 路由大致是这样当切换环境后,只会改变当前url中的
一开始我的设计的方案是 在切换环境时,更新路由中的eid,然后在每个需要刷新的页面watch이 솔루 션 에는 장 점 과 단 점이 있으며 , 장 점은 각 페이지 가 환경을 전환 한 후 별 도의 페이지 논 리 처 리를 할 수 있으며 , 공통 데이터 , 즉 환경에 의존 하지 않는 인터페 이스 데이터 에 대해 다시 로 드 할 필요가 없습니다 .단 점은 때로는 작업 량이 많 으며 , 특히 현재 페이지 의 중간 변 수가 많 을 때 특히 그렇습니다 .
내 동료 의 계획은 환경을 전환 할 때 빈 페이지 로 이동 하여 리 디 렉 션 하는 것입니다 .현재 페이 지를 다시 로 드 하여 마 운 트 합니다 .이렇게 하면 변경 사항 이 거의 없지만 중간 리 디 렉 션 구성 요소 가 추가 되 므로 화 이트 스크 린 , 라 우 팅 혼란 , 중 복 구성 요소 추가 와 같은 예 기 치 않은 상황이 많이 발생합니다 .그리고 나는 이 프로그램이 매우 낮 다고 생각한다 .그러나 그 당시 에는 더 나은 계획이 없었 기 때문에 , 나는 먼저 이 계획을 채택 했다 .비교 업무 량은 많지 않다 . 남은 시간은 다른 일을 연구 할 것이다 .
나중에 , 나는 더 우 아 한 해결책을 찾 았습니다 . 그것은e 디 렉 토 리 아래 에서 e id 디 렉 토 리와 e id . view 를 만듭니다 .그런 다음 e id . view 에는 e id 디 렉 토 리의 특정 콘텐츠 를 렌 더 링 하는 router view 구성 요소 가 하나 만 있습니다 . 最最重要的一点是 在routerview组件上 设置
이렇게 하면 라 우 터의 e id 가 변경 되면 router view 가 다시 렌 더 링 되어 하 위 레벨 의 사용자 구성 요소 가 다시 렌 더 링 됩니다 .이것은 지금까지 내가 찾 은 가장 우 아 한 계획 입니다 .
发表回复