.tsx父页面给.vue子页面传参
方法一:
父页面:
.tsx代码
<Map title="title123" message="msg123"/>
.js代码
const mapelement = document.querySelector('.map') as HTMLElement;
mapelement.title = "title456";
//注意js代码目前只能改变title,所以放到title里进行改变
子页面:
<script setup>
const props = defineProps({message: String,title: String
});onMounted(() => {console.log("initScene======message=======" + props.message + ",title=" + props.title)
}
---------------------------------------------------------------------------------
方法二:
父页面:
const newCameraPosition = { x: x, y: 5, z: -15 };window.parent.postMessage({ action: 'updateCamera', position: newCameraPosition },
子页面:
onMounted(() => {window.addEventListener('message', (event) => {alert("receive addEventListener message");if (event.data.action === 'updateCamera') {const { x, y, z } = event.data.position;alert("x=" + x + ",y=" + y+ ",z=" + z);camera.position.set(x, y, z);}});
}