javascript - VueJS - 应用程序无法定位路线
问题描述
我的所有这些页面都可以正常工作,但登录页面。我有一个名为 Signin.vue 的组件,我将它添加到路由中,但是当我尝试访问它时(http://localhost:8080/#/signin),页面没有显示任何内容。
import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
import Contatos from '@/components/Contatos'
import NovoContato from '@/components/NovoContato'
import ViewContato from '@/components/ViewContato'
import EditarContato from '@/components/EditarContato'
import Signin from '@/components/Signin'
Vue.use(Router)
export default new Router({
routes: [
{
path: '/',
name: 'HelloWorld',
component: HelloWorld
},
{
path: '/cont',
name: 'Contatos',
component: Contatos
},
{
path: '/novo_cont',
name: 'NovoContato',
component: NovoContato
},
{
path: '/:contato_id',
name: 'view-contato',
component: ViewContato
},
{
path: '/edit/:contato_id',
name: 'editar-contato',
component: EditarContato
},
{
path: '/signin',
name: 'Signin',
component: Signin
}
]
})
解决方案
这是因为这条路:
{
path: '/:contato_id',
name: 'view-contato',
component: ViewContato
},
此路径没有特定名称,只有一个参数,这意味着在路由器中定义的所有路由都不起作用。
因此,您可以将路由放在SignIn
路由之前ViewContato
或指定ViewContato
路由名称(path: 'view/:contato_id'
例如)
推荐阅读
- activejdbc - ActiveWeb - 渲染父属性值
- angular - NGINX HTTP2 推送 - Angular
- linux - 带有访问令牌的 git pull,带有用户名/密码的 git push
- angular - Why my file app.component.html is not working?
- r - 使用 rbind 将数据作为列而不是 r 中的行添加到数据帧
- php - Symfony 3.4 服务 - Doctrine\ORM\EntityManager 的实例,给定的布尔值
- reactjs - 在渲染函数的 SetTimout() 中使用 setState
- typescript - 将此带有字符串文字的 JS 函数转换为 TS
- reactjs - 新机器上的“react-scripts start”错误
- angular - router.navigate() 不会在 .subscribe 内重定向