Я получаю сообщение об ошибке типа «Ошибка типа: this. $ Route.push не является функцией», даже если я попытался ES6 также связать это, все еще не работает. всякий раз, когда я нажимаю кнопку «Получить данные домашней страницы» в about.vue, она должна перенаправляться на домашнюю страницу. работает, но здесь мне нужно вызвать ajax, и после ответа ajax только он должен перенаправить ,,, так что я не использую
router.js
import Vue from "vue";
import Router from "vue-router";
import Home from "../components/Home/Home.vue";
import About from "../components/About.vue";
import FallBackPage from "../components/FallBackPage/FallBackPage.vue";
import MyOrders from "../components/MyOrders/MyOrders.vue";
Vue.use(Router);
export function createRouter() {
return new Router({
mode: "history",
routes: [
{ path: "/", component: Home },
{ path: "/about", component: About },
{ path: "/myorders", component: MyOrders },
{ path: "/*", component: FallBackPage }
]
});
}
main.js
import Vue from "vue";
import App from "./App.vue";
import { createRouter } from "./router/router.js";
export function createApp() {
const router = createRouter();
const app = new Vue({
router,
render: h => h(App)
});
return { app, router };
}
about.vue
<template>
<div>
{{ aboutText }}
<button @click="gobackToHome">Get Homepage Data</button>
</div>
</template>
<script>
export default {
data() {
return {
aboutText: "About Component"
};
},
method: {
gobackToHome: function() {
this.$route.push("/")
// $route or $router both are not working
}
// gobackToHome: () => {
// this.$route.push("/")
// }
}
};
</script>