vuecli2 this.router 报错???

2023-06-10 317 0

首先,在点击按钮时应该触发的是@click="aaa()"。从错误信息可以看到是因为this.$router未定义导致的。另外,根据代码看到已经引入了VueRouter,但并没有实例化,需要修改main.js,以下是修改后的代码:

//导入Vue
import Vue from 'vue'
//导入App.vue组件
import App from './App'
//导入ElementUI
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
//导入baidu地图
import BaiduMap from 'vue-baidu-map'
//导入wot-design组件库
import WotDesign from 'wot-design'
import 'wot-design/lib/theme-default/index.css'
//导入路由
import router from '../router/index.js'

//使用ElementUI和wot-design组件库
Vue.use(WotDesign)
Vue.use(ElementUI);
Vue.use(BaiduMap, {
  ak: 'xxxxxxxxxxxxx' //这里需要自己填写百度地图的AK
});

//创建Vue实例
new Vue({
  el: '#app',
  router, //挂载路由
  components: { App },
  template: '<App/>',
  render: h => h(App)
})

此外,在/router/index.js文件中,需要将VueRouter实例化后导出。因为此处路由表只有一个路由,所以可以将其简写为以下形式:

import Vue from 'vue'
import VueRouter from 'vue-router'
import zhifu from '../src/components/zhifu'
Vue.use(VueRouter)
export default new VueRouter({
  routes:[
    {
      path: '/zhifu',
      component: zhifu,
    },
  ]
})

最后,为了解决路由跳转时的问题,尝试将以下代码添加到main.js中:

VueRouter.prototype.push=function(location,resolve,reject){
    if(resolve&&reject){
        originPush.call(this,location,resolve,reject);
    }else{
        originPush.call(this,location,()=>{},()=>{});
    }
}

以上修改应该就可以解决问题了。

相关文章

nuxt2部署静态化和ssr的时候访问首页先报404再出现首页为什么?
`clip-path` 如何绘制圆角平行四边形呢?
多线程wait方法报错?
VUE 绑定的方法如何直接使用外部函数?
vue2固定定位该怎么做?
谁有redis实现信号量的代码,希望借鉴一下?