gpt4 book ai didi

javascript - 无法读取未定义的 Vue js 的属性 '_router'

转载 作者:行者123 更新时间:2023-11-29 23:19:18 25 4
gpt4 key购买 nike

我正在尝试使用 vue-router 将数据从一个组件重定向并传递到另一个组件。

在我的主要组件中,我有一个点击链接,我在其中调用 JavaScript 函数来执行路由。

<a href="javascript:void(0);" @click="switchComponent('ToolDetail')">click here</a>

methods: {
switchComponent(comp) {
this.$router.push({name:comp});
},

截至目前,单击链接时,路由本身会出现控制台错误。

Uncaught TypeError: Cannot read property '_router' of undefined

在我的 main.js 中我已经导入了我的路由器-

import Vue from 'vue'
import App from './App.vue'
import router from 'vue-router'

Vue.config.productionTip = false
export const changeRoute = new Vue();
new Vue({
render: h => h(App)
}).$mount('#app')

Vue.use(router)

编辑:根据@ittus 的回答,我做了这样的事情-

在我的 main.js 中-

import Vue from 'vue'
import App from './App.vue'
import VueRouter from 'vue-router'

Vue.use(VueRouter)

Vue.config.productionTip = false

new Vue({
render: h => h(App)
}).$mount('#app')

在我的 HomeContent.vue-

<template>
...
..
<a href="javascript:void(0);" @click="switchComponent('ToolDetail')">click here</a>
...
..
</template>
<script>
import ToolDetail from './ToolDetail.vue';
import VueRouter from 'vue-router';

...
..

methods: {
switchComponent(comp) {
const routes = [
{ path: '/ToolDetail', component: ToolDetail, name: 'ToolDetail' }
]
const router = new VueRouter({
routes
})
router.push({name:'ToolDetail'});
},

...
..
</script>

现在,当我点击链接时没有任何反应,也没有控制台错误。请问有什么帮助吗?让我知道是否可以提供更多详细信息。

最佳答案

您需要将router 数据传递给Vue 组件

import Vue from 'vue'
import App from './App.vue'
import Router from 'vue-router'

Vue.config.productionTip = false
export const changeRoute = new Vue();

Vue.use(Router) // should place it before new Vue()

// just example
const router = new Router({
routes: [
{
path: '/',
name: 'ToolDetail',
component: ToolDetail // place your component here
}
]
})

new Vue({
router,
render: h => h(App)
}).$mount('#app')

您可以在Getting Started document中查看更多详细信息

关于javascript - 无法读取未定义的 Vue js 的属性 '_router',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51346224/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com