首页 > 解决方案 > 在 js 代码中的其他选项卡中打开 url 时出错

问题描述

在我的 Laravel 5.8 / "vue": "^2.6.10"/ 应用程序中,我需要在 js 代码的其他选项卡中打开 url。我找到了例子

let routeData = this.$router.resolve({name: 'routeName', query: {data: "someData"}});
window.open(routeData.href, '_blank');

这里 vue-router 可以在新标签页中打开链接吗?

但实施它我没有找到有效的方法:

let routeData = this.$router.resolve(  {name: 'editHostel', query: {params: { id : 48 } }  });


            OR

let routeData = this.$router.resolve(  {name: 'editHostel', query: {id: date.id}}  );


        window.open(routeData.href, '_blank');

在这两种情况下,生成的 url 都是无效的。

在 resources/js/routes.js 我有:

{
    path: '/admin/hostels',
    component: hostelsContainer,
    meta: {
        requiresAuth: true,
        authGroupsAccess: ['Admin', 'Manager'],
    },
    children: [
        {
            path: '/admin/hostels/',
            component: hostelsList,
            name: 'listHostels'
        },
        {
            path: '/admin/hostels/new',
            component: editHostel,
            name: 'newHostel'
        },
        {
            path: ':id',
            component: editHostel,
            name: 'editHostel'
        },

哪种方式有效?

标签: vuejs2routes

解决方案


我找到了一个基于链接的决定 vue-router 可以在新选项卡中打开链接吗? 作为 :

let routeData = this.$router.resolve(  { path: '/admin/hostels/' + date.originalEvent.hostel_id +"/open_hostel_inquery_feedback/"+date.id});
window.open(routeData.href, '_blank'); 

这对我行得通!


推荐阅读