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