может быть?
main.js
import './assets/main.css'
import {createApp} from 'vue'
import App from './App.vue'
import {createRouter, createWebHistory} from 'vue-router';
import Welcome from "@/Welcome.vue";
const routes = [
{path: '/', component: App},
{path: '/welcome', component: Welcome},
];
const router = createRouter({
history: createWebHistory(),
routes: routes,
});
const app = createApp(App)
app.use(router)
app.mount('#app')
<script type="module">
...
export default {
setup() {
const router = useRouter();
const submitHandler = () => {
...
const newRef = push(databaseRef, anketa);
newRef
.then(() => {
console.log('Данные успешно добавлены в базу данных');
document.getElementById('survey-form').reset();
router.push({ path: '/welcome', query: { queryParams } });
})
.catch((error) => {
console.log('Ошибка при добавлении данных в базу данных: ' + error);
});
};
onMounted(() => {
const submitButton = document.getElementById('submit-button');
submitButton.addEventListener('click', submitHandler);
});
return {
submitHandler,
};
}
};
</script>
<template>
<div>
...
<form id="survey-form">
...
<button type="button" id="submit-button">Далее</button>
</form>
</div>
</template>
проблема в том, что ничего не способствует переходу. Нужно сделать router.push там где этот переход должен быть. P S submitButton.addEventListener - так в vue события не навешивают. Точнее, можно и так, но зачем тогда vue, если его сильные стороны игнорятся?
изучение только начал, не бейте, я не фронтендер) <section> <router-view /> </section> не хватало, оказывается
оу если бы у тебя было все правильно, было бы тяжело понять где проблема, т к ты не предоставил сорцы App.vue. Ну хорошо, что кончилось хорошо)
Обсуждают сегодня