Javascript 如何访问nuxt.js中的router对象

Javascript 如何访问nuxt.js中的router对象,javascript,vuejs2,frontend,nuxt.js,Javascript,Vuejs2,Frontend,Nuxt.js,我正在使用基于vue.js的nuxt.js开发一个网站。该网站是一个简单的网站,有许多关于内容的页面。我想创建一个组件,该组件知道它在内容中的位置,因此需要访问路由器对象。我已尝试$nuxt.$route.path,但出现错误。如何导入$nuxt或$router对象以在组件中访问它们 我的模板组件 <template> <div> <hr> <p>{{ $store.state.menuitems[0] }}</p

我正在使用基于vue.js的nuxt.js开发一个网站。该网站是一个简单的网站,有许多关于内容的页面。我想创建一个组件,该组件知道它在内容中的位置,因此需要访问路由器对象。我已尝试$nuxt.$route.path,但出现错误。如何导入$nuxt或$router对象以在组件中访问它们

我的模板组件

<template>
  <div>
      <hr>
      <p>{{ $store.state.menuitems[0] }}</p>
      <hr>
      <div class="artfooter">
        <span>i want name of current route here</span>
      </div>
      <br>
  </div>
</template>


<style scoped>
.artfooter{
    font-size: 0.8em;
    display: flex;
    justify-content: space-between;
}
</style>



<script>
  import store from '~/store/index'
  //how to import $nuxt object to access router??
  console.log(store)
  console.log(this.$router.path)
  // the above console.log reports error
  // Cannot read property 'middleware' of undefined

  export default {
  }
</script>
您可以通过以下方式访问它:

您可以通过以下方式访问它:


Nuxt使用以下任一方法执行此操作:

// say that we are in "About Us" page

this.$nuxt.$route.name // returns 'about-us'
this.$nuxt.$route.path // returns '/about-us'

Nuxt使用以下任一方法执行此操作:

// say that we are in "About Us" page

this.$nuxt.$route.name // returns 'about-us'
this.$nuxt.$route.path // returns '/about-us'

就一般方法而言,我个人认为最好的方法是:

const store = window.$nuxt.$store
const router = window.$nuxt.$router
但是,应当指出:

$nuxt在初始化完成之前无法访问,因此需要在初始化后使用此方法


就一般方法而言,我个人认为最好的方法是:

const store = window.$nuxt.$store
const router = window.$nuxt.$router
但是,应当指出:

$nuxt在初始化完成之前无法访问,因此需要在初始化后使用此方法


您还可以通过这种方式从全局$nuxt对象访问route和router对象

 this.$nuxt._route
 this.$nuxt._router


您还可以通过这种方式从全局$nuxt对象访问route和router对象

 this.$nuxt._route
 this.$nuxt._router


你的错误是什么?您是否可以包括一些代码示例?您是如何尝试从组件访问它的?您的错误是什么?您可以提供一些代码示例,说明您如何尝试从组件访问它吗?我已经尝试了console.logthis.$route,它位于component.vue文件的标记中,但它报告它未定义!从“~/store/index”console.logstore console.logthis导出存储默认值{}啊,是的,这不起作用。路由对象位于组件/页面/布局数据对象中。因此,您可以像访问任何其他数据一样访问它。因此,您必须将日志记录移动到组件/页面/布局对象中,才能在正确的范围内。如果您想在呈现组件时立即记录它,可以将其放入挂载的挂钩中,比如导出默认值{mounted{console.logthis.$route}}我已经尝试了console.logthis.$route,它来自component.vue文件内的标记,但它报告它未定义!从“~/store/index”console.logstore console.logthis导出存储默认值{}啊,是的,这不起作用。路由对象位于组件/页面/布局数据对象中。因此,您可以像访问任何其他数据一样访问它。因此,您必须将日志记录移动到组件/页面/布局对象中,才能在正确的范围内。如果您想在呈现组件时立即记录它,可以将其放入挂载的钩子中,比如导出默认值{mounted{console.logthis.$route}