当前位置: 首页 > 知识库问答 >
问题:

Vuejs-未捕获类型错误:无法重新定义属性:$router

商华藏
2023-03-14

我对Vuejs来说是相对较新的,我已经坚持了一段时间:(页面加载时出现)

未捕获的TypeError:无法重新定义属性:$router

这个问题似乎不会影响webapp的可用性,我很确定我不会不止一次声明Vue.use(路由器)...

这是我的索引。js文件:(在src/router中)

import Vue from 'vue'
import Router from 'vue-router'
import Blog from '../components/Blog.vue'
import BlogPost from '../components/BlogPost.vue'

Vue.use(Router)
Vue.config.silent = true

export default new Router({
  routes: [
    {
      path: '/blog',
      name: 'Blog',
      component: Blog
    },
    {
      path: '/blog/:slug',
      name: 'Blog-post',
      component: BlogPost
    }
  ]
})

应用程序。ts:(在src中,主要入口点)

import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store/simple_store'
import '../assets/app.css'
import './assets/main_logo.css'
import './assets/pages/page_header_animation.css'

new Vue({
  el: '#app',
  router,
  store,
  render: h => h(App)
})

请帮帮忙!谢谢!!

共有3个答案

孟树
2023-03-14

看起来你用过Webpack,忘记了设置

externals: {
  Vue: 'vue'
}

在本例中,您在外部CND和Web包的库中初始化了两次vue和vue路由器。

易阳云
2023-03-14

这是由于vue路由器中的以下代码造成的

if (inBrowser && window.Vue) {
  window.Vue.use(VueRouter);
}

只有当你在

删除任何<代码>

颜畅
2023-03-14

解决了的!

在我的index.html文件中,我再次导入了vue:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <title>Meko Deng</title>
  </head>
  <body>
    <div id="app"></div>
    <!-- <script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script> -->
</body>
</html>

评论出来就成功了!

 类似资料: