【发布时间】:2021-03-06 13:04:22
【问题描述】:
当我单击路由器链接进入注册表单页面时,URL 会更改,但组件不会加载。
我在一个组件中有导航栏,我认为它是错误的,但是没有......
这是路由器的文件代码:
import {createRouter, createWebHashHistory} from 'vue-router'
const routes = [
{
path: '/',
name: 'Home',
component: () => import(/* webpackChunkName: "home" */ '../views/Home.vue')
},
{
path: '/formulario-registro',
name: 'RegisterForm',
component: () => import(/*webpackChunkName: "registerform"*/ '../views/RegisterForm.vue')
}
]
const router = createRouter({
history: createWebHashHistory(),
routes
});
export default router
这是我的导航组件,其中有路由器链接:
<div class="nav">
<div class="brand">
<router-link to="/">BookArt</router-link>
</div>
<div class="collapse">
<span id="mobile-icon" v-on:click="responsiveNavbar"></span>
</div>
<div class="links">
<ul id="nav-list-group">
<li class="list-item">
<router-link to="/"> Inicio</router-link>
</li>
<li class="list-item">
<router-link to="/formulario-registro"> Registro</router-link>
</li>
<li class="list-item">
<router-link to=""> Login</router-link>
</li>
</ul>
</div>
我的 main.js 代码:
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
createApp(App).use(store).use(router).mount('#app')
还有我的 App.vue 代码:
<template>
<Nav></Nav>
<router-view/>
</template>
<script>
import Nav from '@/components/Nav.vue'
export default {
components: {
Nav
}
}
</script>
这是我的注册表单组件的代码:
<template>
<form action="">
<div class="form-group">
<input type="text" name="form.username" id="form.username" class="username" placeholder="Nombre de usuario....">
</div>
<div class="form-group">
<input type="file" name="form.profile_pic" id="form.profile_pic" class="profile_pic"
placeholder="Foto de perfil....">
</div>
<div class="form-group">
<input type="email" name="form.email" id="form.email" class="email" placeholder="Email....">
</div>
<div class="form-group">
<input type="password" name="form.password" id="form.password" class="password" placeholder="*******">
</div>
<div class="form-group">
<input type="password" name="form.confirm_password" id="form.confirm.password" class="confirm_password"
placeholder="*******">
</div>
<div class="form-group">
<button>Registrarse</button>
</div>
</form>
</template>
<script>
export default {
name: "Register-form",
mounted() {
console.log('Its ok');
}
}
</script>
【问题讨论】:
-
请分享 main.js 和 app.vue 代码
-
@BoussadjraBrahim 我已经添加了它们。
-
代码似乎可以正常工作,您是否在控制台中遇到错误?
-
我收到警告
runtime-core.esm-bundler.js?5c40:38 [Vue warn]: Unhandled error during execution of scheduler flush. This is likely a Vue internals bug. Please open an issue at和以下错误Uncaught (in promise) RangeError: Maximum call stack size exceeded at renderComponentRoot -
所有这些看起来都是正确的。所以我很想看到
RegisterForm代码。 “超出堆栈大小”表示可能存在无限循环。
标签: javascript vue.js vue-router vuejs3 vue-router4