Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 名称为'的路线;不适用;不存在$router.push()转到错误路径Vue Js_Javascript_Vue.js_Routes_Router_Vue Router - Fatal编程技术网

Javascript 名称为'的路线;不适用;不存在$router.push()转到错误路径Vue Js

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

我在vue路由器中遇到了错误的工作方法$router.push()的问题

我有两个页面有相同的按钮,这些按钮执行相同的方法(转到页面addToMyLibrary页面)。下面我将描述这些方法是如何工作的

方法:router.push(),我使用这个.route.name来更改push()中的动态名称属性(根据当前页面,需要在
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
            }
          },
        ]
      }
    ],
  }]
};