Javascript 名称为'的路线;不适用;不存在$router.push()转到错误路径Vue Js
我在vue路由器中遇到了错误的工作方法$router.push()的问题 我有两个页面有相同的按钮,这些按钮执行相同的方法(转到页面addToMyLibrary页面)。下面我将描述这些方法是如何工作的 方法:router.push(),我使用这个.route.name来更改push()中的动态名称属性(根据当前页面,需要在Javascript 名称为'的路线;不适用;不存在$router.push()转到错误路径Vue Js,javascript,vue.js,routes,router,vue-router,Javascript,Vue.js,Routes,Router,Vue Router,我在vue路由器中遇到了错误的工作方法$router.push()的问题 我有两个页面有相同的按钮,这些按钮执行相同的方法(转到页面addToMyLibrary页面)。下面我将描述这些方法是如何工作的 方法:router.push(),我使用这个.route.name来更改push()中的动态名称属性(根据当前页面,需要在route.name:'sectionDocs.search.addToMyLibrary'和route.name:'sectionDocs.view.addToMyLibra
route.name:'sectionDocs.search.addToMyLibrary'
和route.name:'sectionDocs.view.addToMyLibrary'
之间进行更改)
当我们在/sectionDocs/search/:documentId
页面上定位时,在执行此方法后,我们转到页面路径:'/sectionDocs/search/addToMyLibrary/:documentId'
,但当我在路径:'sectionDocs/:documentId'页面上使用此方法时,
执行方法路由器后,转到错误的页面,$route.name。我们没有得到名称:'sectionDocs.view.addToMyLibrary'
而是在路由名称中得到动态路径,我的意思是页面有$route.name:':documentId'
,当然,在vue路由器中不存在名为documentId的路由
我需要使用$route.name:'sectionDocs.view.addToMyLibrary'
进入页面/sectionDocs/search/:documentId/addToMyLibrary/:documentId
,但我无法解决问题。请任何人帮帮我
还有一个我可以转到页面$route.name:'sectionDocs.view.addToMyLibrary'
,只有在url中输入正确的路径/sectionDocs/search/:documentId/addToMyLibrary/:documentId
我把密码放在下面
methods: {
add_to_library() {
this.$router.push({
name: this.$route.name + '.addToMyLibrary',
params: {
documentId: this.document.documentItemId,
documentType: 'LoremIpsum',
}
});
},
}
<template>
<button @click="add_to_library">Add to library</button>
</template>
export default {
path: 'sectionDocs',
component: sectionDocs,
meta: {
requiresAuth: true,
title: 'SectionDocuments'
},
children: [{
path: '/',
component: sectionDocsSearch,
meta: {
requiresAuth: true
},
children: [{
path: '/',
name: 'sectionDocs',
component: sectionDocsDefault,
meta: {
requiresAuth: true
},
}, {
path: 'search',
name: 'sectionDocs.search',
component: sectionDocsSearchResults,
meta: {
requiresAuth: true
},
children: [
{
path: 'addToMyLibrary',
component: {
render: h => h('router-view')
},
meta: {
requiresAuth: true
},
children: [
{
path: 'success',
name: 'sectionDocs.search.addToMyLibrary.success',
component: successfulAddMessage,
meta: {
requiresAuth: true
}
},{
path: ':documentId',
name: 'sectionDocs.search.addToMyLibrary',
component: sectionDocsAddToLibrary,
meta: {
requiresAuth: true
}
}
]
}
],
}]
}, {
path: ':documentId',
name: 'sectionDocs.view',
component: sectionDocsView,
meta: {
requiresAuth: true,
dynamicRoute: true
},
children: [
{
path: 'addToMyLibrary',
component: {
render: h => h('router-view')
},
meta: {
requiresAuth: true
},
children: [
{
path: 'success',
name: 'sectionDocs.view.addToMyLibrary.success',
component: successfulAddMessage,
meta: {
requiresAuth: true
}
},{
path: ':documentId',
name: 'sectionDocs.view.addToMyLibrary',
component: sectionDocsAddToLibrary,
meta: {
requiresAuth: true
}
},
]
}
],
}]
};