vue-cli的router/index.js跳转出问题了

问题:

配置好了router,跳转一直不生效。找了半天并没有发现语法错误。最后发现自己误删了App.vue里面把<router-view/>,导致了跳转失败!

解决:

<router-view/> 加回去就ok了。

个人建议不要修改App.vue里的东西。只做入口文件使用。

拓展

<router-view/> :

主要是构建 SPA (单页应用) 时,方便渲染你指定路由对应的组件。你可以 router-view 当做是一个容器,它渲染的组件是你使用 vue-router 指定的。

vue-router的使用:

最新的vue里内置了vue-router,所以不需要再下载。

正常下面的文件vue-cli已经配置好了,不需要手动创建。我们只需要配置router/index.js就行了

router配置主要在/src/router里的index.js里

import Vue from 'vue'  //引入vue
import vueRouter from 'vue-router'  //引入vue-router
import index from '@/views/index'  //引入首页的文件

Vue.use(vueRouter)

export default new vueRouter({
    routes:[
        {path:'/',name:'index',component:index}
    ]
})

main.js中引入router.js

// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'

Vue.config.productionTip = false

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  components: { App },
  template: '<App/>'
})

App.vue里

<template>
  <div id="app">
    <router-view></router-view>
  </div>
</template>

<script>
export default {
  name: 'App',
}
</script>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我了解了你的问题。以下是回答: 首先,非常感谢您使用我开发的ChitGPT进行对话。 关于您的问题,我明白您想要实现一个Vue-CLI项目,通过静态路由来实现一般管理系统的菜单导航功能。您想要在左侧菜单中添加“学生信息管理”和“班级信息管理”两个选项,点击“学生信息管理”时,将显示学生卡片列表相关组件,点击“班级信息管理”时,将显示班级信息管理对应组件。 以下是具体的实验步骤: 1. 创建Vue-cli项目 您可以使用以下命令来创建一个Vue-cli项目: ``` vue create my-project ``` 其中,my-project是您的项目名称。 2. 编写主页面文件index.vue 您可以在src目录下创建一个名为index.vue的文件,用于作为主页面。在该文件中,您可以使用Vue的组件化开发方式,将页面分为左侧菜单、右侧头部及右侧工作区,右侧工作区使用router-view进行渲染。 以下是示例代码: ``` <template> <div class="container"> <div class="left-menu"> <ul> <li @click="handleSelectMenu('student')">学生信息管理</li> <li @click="handleSelectMenu('class')">班级信息管理</li> </ul> </div> <div class="right-container"> <div class="header"> <h1>管理系统</h1> </div> <div class="work-area"> <router-view></router-view> </div> </div> </div> </template> <script> export default { data() { return {}; }, methods: { handleSelectMenu(type) { this.$router.push({ path: '/' + type }); }, }, }; </script> <style scoped> .container { display: flex; } .left-menu { width: 200px; height: 100vh; background-color: #f2f2f2; } .left-menu ul { list-style: none; padding: 0; margin: 0; } .left-menu ul li { padding: 10px; cursor: pointer; border-bottom: 1px solid #ccc; } .left-menu ul li:hover { background-color: #e6e6e6; } .right-container { flex: 1; } .header { height: 60px; background-color: #333; color: #fff; display: flex; justify-content: center; align-items: center; } .header h1 { margin: 0; } .work-area { padding: 20px; } </style> ``` 3. 配置路由 在src/router目录下,您可以创建一个名为index.js的文件,用于配置路由。在该文件中,您可以使用Vue Router提供的router-link和router-view组件,来实现页面间的跳转和渲染。 以下是示例代码: ``` import Vue from 'vue'; import VueRouter from 'vue-router'; import Student from '../views/Student.vue'; import Class from '../views/Class.vue'; Vue.use(VueRouter); const routes = [ { path: '/student', name: 'Student', component: Student, }, { path: '/class', name: 'Class', component: Class, }, ]; const router = new VueRouter({ mode: 'history', base: process.env.BASE_URL, routes, }); export default router; ``` 其中,Student和Class分别是您需要创建的两个组件。 4. 创建并编辑工作区所显示内容对应的各个Vue文件 在src/views目录下,您可以创建两个名为Student.vue和Class.vue的文件,分别对应“学生信息管理”和“班级信息管理”两个功能模块。 在这两个文件中,您可以根据需求编写相关的页面逻辑和样式。 5. 运行并调试程序 您可以使用以下命令来运行程序: ``` npm run serve ``` 运行成功后,您可以在浏览器中打开http://localhost:8080,查看效果。当您点击“学生信息管理”时,将显示学生卡片列表相关组件;点击“班级信息管理”时,将显示班级信息管理对应组件。 希望以上回答能够帮助到您,如有不清楚的地方,欢迎继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值