vue项目新打开一个窗口,如何传参?(试过很多种方法了多多少少都有些问题)

第一种:用传统参数形式
其中里面不管是query还是params,新页面都接收不到值。不知道问题所在

var data = row[column.property]
      // 打开新的页面
      let routeData = this.$router.resolve({
        path: '/schedulePage',
        query: {
          date: data
        }
      })
      window.open(routeData.href, '_blank')

第二种:
用sessionStorage缓存

sessionStorage.setItem('calendarDate', JSON.stringify(data))
// 打开新的页面
      let routeData = this.$router.resolve({
        path: '/schedulePage',
      })
      window.open(routeData.href, '_blank')

取缓存:

mounted(){
    let data = sessionStorage.getItem('calendarDate')
    console.log('-------new page-------')
    console.log(JSON.parse(data))
  },

第二种方法,打开新窗口时候控制台并没有打印任何值,但是刷新了之后打印出了值。请问这是什么原因?我猜是使用this.$router.resolve打开页面的过程中,并没有像传统加载vue的生命周期那样打开的页面。麻烦来个大 神解答一下菜 鸟的疑问。谢谢!

你直接存浏览器里,我不信取不到.用localStorage.setItem

用第一种方法不行吗?实在不行就拼url吧,例如 >"www.sina.com.cn?a=xxx&b=xxx\" 这种格式,然后再用window.open(url,'_blank')