<template> <div> <flash container="mb-2"/> <login-form v-if="this.$route.name === 'login'" v-bind:user="user" v-on:update-email="onUpdateEmail" /> <forgot-password v-if="this.$route.name === 'forgot-password'" v-bind:email="user.email" v-on:update-email="onUpdateEmail" /> <two-factor-form v-if="this.$route.name === 'checkpoint'" /> </div> </template> <script lang="ts"> import Vue from 'vue'; import Flash from '../Flash'; import ForgotPassword from "./ForgotPassword"; import LoginForm from "./LoginForm"; import TwoFactorForm from "./TwoFactorForm"; export default Vue.extend({ name: 'login', data: function () { return { user: { email: '' }, }; }, methods: { onUpdateEmail: function (value) { this.$data.user.email = value; }, }, components: { Flash, TwoFactorForm, ForgotPassword, LoginForm, }, }); </script>