Я пытаюсь сделать нормальную страницу входа в систему с помощью модулей nuxt и nuxt / auth. То, что происходит, заключается в том, что при нажатии кнопки «Отправить» происходит перемещение к странице индекса. это мой html код:
<template>
<div class="container">
<b-card
header="Sign In"
header-bg-variant="secondary"
header-text-variant="white"
style="width: 20rem;"
>
<b-form @submit="onSubmit">
<b-form-group
id="input-group-1"
label="Username:"
label-for="input-1"
>
<b-form-input
id="input-1"
v-model="form.userName"
type="email"
required
placeholder=""
></b-form-input>
</b-form-group>
<b-form-group id="input-group-2" label="Password:" label-for="input-2">
<b-form-input
id="input-2"
type="password"
required
v-model="form.password"
placeholder=""
></b-form-input>
</b-form-group>
<b-form-group id="input-group-3" label="Reference:" label-for="input-3">
<b-form-input
id="input-3"
v-model="form.reference"
required
placeholder=""
></b-form-input>
</b-form-group>
<b-button type="submit" variant="primary">Submit</b-button>
</b-form>
</b-card>
</div>
</template>
, и это моя JS функция отправки:
async onSubmit(evt) {
evt.preventDefault();
var self = this;
var data = {
email: self.form.userName,
password: self.form.password,
role: "publisher"
};
try{
await this.$auth.loginWith("local", {
data: data
})
}catch (e) {
console.log(e);
self.emailCheck = true;
}
if (this.$auth.loggedIn) {
axios.defaults.headers.common["authorization"] = self.$auth.getToken(
"local"
)
axios.get(self.baseUrl + "devices/config/" + self.form.reference)
.then(async function (response) {
self.$router.push({
name: "mediaPlayer"
});
})
.catch(function (error) {
console.log(error);
self.refCheck = true;
});
}
}
Я пытался поместить событие предотвращения в html, как это @submit.stop.prevent="onSubmit"
но тоже ничего. я хочу, чтобы go перешел на страницу mediapalyer, если вход выполнен, или просто выполните консоль ошибки, если это не так.