Vue在新窗口打开页面并传参
在Vue中,你可以通过编程方式打开一个新窗口,并且可以通过URL的查询参数传递数据。以下是一个简单的示例:
// 在Vue组件的方法中
methods: {
openNewWindow(param) {
// 创建一个新的URL,并附加查询参数
const url = `${this.$router.resolve({
name: 'TargetPage', // 目标页面的路由名称
params: { data: param } // 需要传递的参数
}).href}&newWindow=1`; // 添加一个标识,以便在新窗口中的页面知道它是被新窗口打开的
// 打开新窗口
window.open(url, '_blank');
}
}
在目标页面中,你可以通过this.$route.params
获取传递的参数,并根据newWindow
的值判断是否是新窗口打开的:
// 在目标页面的created钩子中
created() {
const data = this.$route.params.data;
const isNewWindow = this.$route.query.newWindow === '1';
// 根据需要处理数据和新窗口的情况
if (isNewWindow) {
// 处理新窗口的逻辑
}
}
请确保TargetPage
是你的路由配置中的一个有效路由名称。这样,你就可以在Vue应用中打开一个新窗口,并传递参数了。
评论已关闭