vue 다른 항목 페이지 열고 데이터 상세 정보 전송

1. 도메인을 뛰어넘지 않고sessionstorage를 가지고 열기
홈 페이지,sessionstorage를 저장한 후 페이지를 엽니다

let data = {
	text:' '
};
let isMobile = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)?true:false;

sessionStorage.setItem('information',JSON.stringify(data));
//ios , ,pc 
window.open(window.location.protocol + "//" + window.location.host + reportUrl, isMobile?'_self':'_blank');
하위 페이지

var date = JSON.parse(sessionStorage.getItem('information'));
2. 크로스 도메인, iframe 통신
전역의 경우sessionstorage를 휴대할 수 없으며iframe의postMessage 통신 메커니즘을 통해 데이터를 전달할 수 없습니다.
도메인을 뛰어넘지 않고도 사용할 수 있지만, 첫 번째는 매끄러운 것을 권장합니다~
홈 화면, URL 쓰기, 마운트 완료 후 데이터 보내기

<iframe id='iframe' class="iframe" v-if="src" ref="iframe" :src="src"></iframe>

let data = {
	text:' '
};
this.src = url
this.$nextTick(()=>{
	document.getElementById('iframe').onload=()=>{
		document.getElementById('iframe').contentWindow.postMessage({
			type:'preview',
			data:data
		},this.src)
		document.getElementById('iframe').onload=null;
 }
})
하위 페이지, 감청 실행,created,mounted 모두 가능

created() {
	window.addEventListener('message',(event)=>{
	 console.log(event.data.type)
	 if(event.data&&event.data.type=='preview'){
	  console.log(event.data.data)
	  let data = event.data.data
	 }
	 }, false);
}
총결산
vue가 다른 프로젝트 페이지를 열고 데이터를 전송하는 것에 관한 이 글은 여기에 소개되었습니다. 더 많은 관련 vue가 프로젝트 페이지를 열고 데이터 내용을 전송할 수 있습니다. 저희 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보십시오. 앞으로 많은 응원 부탁드립니다!

좋은 웹페이지 즐겨찾기