vueルートを使用して1つのコンポーネントから別のコンポーネントにプッシュしようとしていますが、問題が発生しています。
これは私のルーターです-> index.js:
import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/pages/HelloWorld'
import GroupStart from '@/pages/GroupStart'
import NotFound from '@/pages/NotFound'
Vue.use(Router)
export default new Router({
routes: [{
path: '/',
name: 'HelloWorld',
component: HelloWorld
},
{
path: '/groupstart',
name: 'GroupStart',
component: GroupStart
},
{
path: '*',
name: 'Notfound',
component: NotFound
}
],
mode: 'history'
})
今、私のhelloworldコンポーネントから、これを実行しようとしています。
<template>
<div class="hello">
<h1>{{ msg }}</h1>
</div>
</template>
<script>
export default {
name: 'HelloWorld',
data () {
return {
msg: 'This is the startpage'
}
}
}
this.$router.push({ path: '/groupstart' })
</script>
そうすると、次のエラーが発生します。
Uncaught TypeError: Cannot read property 'push' of undefined
at eval (HelloWorld.vue?18db:17)
私が間違っていることを知らず、助けを望んでいます:-)
前もって感謝します。
これthis.$router.push({ path: '/groupstart' })
をフックまたはメソッド内に記述する必要があります。ページが読み込まれたときにすぐに実行したい場合は、次のようにすることができます
<script>
export default {
name: 'HelloWorld',
data () {
return {
msg: 'This is the startpage'
}
},
mounted () {
this.$router.push({ path: '/groupstart' })
}
}
</script>
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加