如何在nuxt.js中访问路由器对象

eng*_*ave 0 javascript frontend vuejs2 nuxt.js

我正在使用基于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>
Run Code Online (Sandbox Code Playgroud)

Sol*_*eno 5

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

this.$route.path
Run Code Online (Sandbox Code Playgroud)

  • 啊,是的,那行不通。路由对象位于您的组件/页面/布局数据对象中。因此,您可以像访问“this.mydata”这样的任何其他数据一样访问它。因此,您必须将日志移到组件/页面/布局对象中才能处于正确的范围内。如果你想在组件被渲染时记录它,你可以把它放在挂载的钩子里,比如 export default { mount () { console.log(this.$route) }} (2认同)