aaa(){
console.log(this.$router)
//跳转页面
this.$router.push('/zhifu')
},
mian.js
import Vue from 'vue'
import App from './App'
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import BaiduMap from 'vue-baidu-map'
import WotDesign from 'wot-design'
import 'wot-design/lib/theme-default/index.css'
import router from '../router/index.js'
Vue.config.productionTip = false
Vue.use(WotDesign)
Vue.use(ElementUI);
Vue.use(BaiduMap, {
ak: 'xxxxxxxxxxxxx'
});
/* eslint-disable no-new */
new Vue({
el: '#app',
router,
components: { App },
template: '<App/>',
render: h => h(App)
})
路由
index.js
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',
name:'zhifu',
component: zhifu,
},
]
})
报错如下
undefined
vue.esm.js:5105 [Vue warn]: Error in v-on handler: "TypeError: Cannot read properties of undefined (reading 'push')"
found in
---> <ElButton> at packages/button/src/button.vue
<BmMap>
<App> at src/App.vue
<Root>
warn$2 @ vue.esm.js:5105
logError @ vue.esm.js:3763
globalHandleError @ vue.esm.js:3759
handleError @ vue.esm.js:3726
invokeWithErrorHandling @ vue.esm.js:3742
invoker @ vue.esm.js:1552
invokeWithErrorHandling @ vue.esm.js:3735
Vue.$emit @ vue.esm.js:2821
handleClick @ element-ui.common.js:9465
invokeWithErrorHandling @ vue.esm.js:3735
invoker @ vue.esm.js:1552
original_1._wrapper @ vue.esm.js:8013
vue.esm.js:3767 TypeError: Cannot read properties of undefined (reading 'push')
at VueComponent.aaa (App.vue:244:1)
at invokeWithErrorHandling (vue.esm.js:3735:1)
at VueComponent.invoker (vue.esm.js:1552:1)
at invokeWithErrorHandling (vue.esm.js:3735:1)
at Vue.$emit (vue.esm.js:2821:1)
at VueComponent.handleClick (element-ui.common.js:9465:1)
at invokeWithErrorHandling (vue.esm.js:3735:1)
at HTMLButtonElement.invoker (vue.esm.js:1552:1)
at original_1._wrapper (vue.esm.js:8013:1)
l
aaa()是按钮触发的, 是@click="aaa()" 这样写了吧?
渲染中就直接触发了。 要么就是你调用的时候把this指向更改了,this.$router是undefined