需求: 地址不带参数
获取之前的数据
修改窗口名称
点击跳转组件
const msg = {zoom :map.getZoom()-0.5,lat: map.getCenter().lat,dataList:data,name:data.saveName};//sessionStorage.setItem("key", "value"); 页面临时缓存数据 //不能直接传对象过去 所以转成字符串window.sessionStorage.setItem("tagUser", JSON.stringify(msg));//打开新窗口window.open(homePageUrl + "bookNewWindow");
main.js 注册全局指令 实现动态改变窗口名称
Vue.directive('title', {inserted: function (el, binding,vnode ) {/** el可以获取当前dom节点,并且进行编译,也可以操作事件 **//** binding指的是一个对象,一般不用 **//** vnode 是 Vue 编译生成的虚拟节点 **/el.style.border="1px solid red"; //操作style所有样式console.log(el.value); //获取v-model的值console.log(el.dataset.title) //data-name绑定的值,需要el.dataset来获取console.log(el.dataset.name) //data-name绑定的值,需要el.dataset来获取console.log(vnode.context.$route); //获取当前路由信息//给v-title标签的 data-title 属性赋值document.title=el.dataset.title}})
跳转组件获取参数并改变窗口名称
<template>//在页面最大的div上 v-title data-title=""//v-title进行鼠标悬浮提示 :data-title='typename' 窗口显示值<div class="newWindow" v-title :data-title='typename'></div></template>created() {//需要在created中赋值 窗口名字才能及时改变let data=JSON.parse(window.sessionStorage.getItem('tagUser'))this.typename=data.name},mounted() {//获取参数let data=JSON.parse(window.sessionStorage.getItem('tagUser'))},