vue的跳转(打开新页面)

1、router-link跳转

   // 直接写上跳转的地址
  <router-link to="/detail/one">
    <span class="spanfour" >link跳转</span>
  </router-link>
  // 添加参数
  <router-link :to="{path:'/detail/two', query:{id:1,name:'vue'}}">
   </router-link>
  // 参数获取
  id = this.$route.query.id
  // 新窗口打开
  <router-link :to="{path:'/detail/three', query:{id:1,name:'vue'}}" target="_blank">
  </router-link>

2.this.$router.push/replace跳转

toDeail (e) {
   this.$router.push({path: "/detail", query: {id: e}})
 }
 // 参数获取
 id = this.$route.query.id
 
 toDeail (e) {
   this.$router.push({name: "/detail", params: {id: e}})
 }
 // 注意地址需写在 name后面
 //参数获取,params和query区别,query参数在地址栏显示,params的参数不在地址栏显示
 id = this.$route.params.id

3、resolve跳转

	//resolve页面跳转可用新页面打开
    //2.1.0版本后,使用路由对象的resolve方法解析路由,可以得到location、router、href等目标路由的信息。得到href就可以使用window.open开新窗口了
 toDeail (e) {
   const new = this.$router.resolve({name: '/detail', params: {id: e}})
   window.open(new.href,'_blank')
 }

4、window.open()

1. 在当前窗口打开百度,并且使URL地址出现在搜索栏中.

window.open("http://www.baidu.com/", "_search");

window.open("http://www.baidu.com/", "_self");

 

2. 在一个新的窗口打开百度

window.open("http://www.baidu.com/", "_blank");

 

3. 打开一个新的窗口,并命名为"hello"

window.open("", "hello");

 

另外, open函数的第二个参数还有几种选择:

_top : 如果页面上有framesets,则url会取代framesets的最顶层,, 如果没有framesets, 则效果等同于_self.

_parent: url所指向的页面加载到当前frame的父亲, 如果没有则效果等同于_self.

_media : url所指向的页面加载到Media Bar所包含的HTML代码区域中.如果没有Media Bar则加到本身.

 

如果还要添加其它的东西在新的窗口上, 则需要第三个参数:

channelmode : yes|no|1|0  (窗口显示为剧场模式[全屏幕显示当前网页, 包括工具栏等],或频道模式[一般显示]).

directories :  yes|no|1|0 (是否添加目录按钮, 比如在IE下可能会有一个"链接"这样的按钮在最上面出现)

fullscreen : yes|no|1|0 (使浏览器处理全屏幕模式, 并隐藏标题栏和菜单等)

menubar : yes|no|1|0 (是否显示浏览器默认的菜单栏)

resizeable : yes|no|1|0 (窗口是否可调整大小)

scrollbars : yes|no|1|0 (是否允许水平或垂直滑动条)

titlebar : yes|no|1|0 (是否添加一个标题栏)

toolbar : yes|no|1|0 (是否添加浏览器默认的工具栏)

status : yes|no|1|0 (是否显示状态栏)

location : yes|no|1|0  (是否显示搜索栏)

copyhistory :  yes|no|1|0 (似乎已经废弃, 如果只要工具栏显示, 历史按钮就会显示出来)

height : 窗口的高度, 最小值为100像素

width :  窗口的宽度, 最小值为w100像素

left : 窗口的最左边相对于屏幕的距离
  • 9
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Vue中,可以使用`window.open()`方法在新页面打开指定的路由页面。你可以使用`this.$router.resolve()`方法来解析要跳转的路由,并获取目标路由的信息,包括`href`属性。然后,你可以将`href`作为参数传递给`window.open()`方法,同时指定`'_blank'`作为第二个参数,以在新页面打开路由页面。 下面是一个示例代码: ```javascript toDetail(e) { const newRoute = this.$router.resolve({ name: 'detail', params: { id: e } }); window.open(newRoute.href, '_blank'); } ``` 在上述示例中,我们使用`toDetail`方法来处理跳转新页面的逻辑。首先,我们使用`this.$router.resolve()`方法来解析名为`detail`的路由,并通过`params`属性传递路由参数。然后,我们将解析得到的路由信息的`href`属性作为参数传递给`window.open()`方法,并指定`'_blank'`作为第二个参数,以在新页面打开该路由页面。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Vue路由跳转传参或打开新页面跳转](https://blog.csdn.net/m0_66722601/article/details/130357615)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [vue-router跳转打开新页面的两种方法](https://download.csdn.net/download/weixin_38592332/13586213)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老电影故事

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值