vue 跳转新窗口传递参数并改变窗口名称

需求: 地址不带参数
获取之前的数据
修改窗口名称

点击跳转组件

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'))
		},
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值