• Vue路由的使用


    一.路由的理解

    什么是路由?

    ​ 1.一个路由就是一组映射关系(key-value)

    ​ 2.key为路径,value可能是function或component

    路由分类:

    ​ 1.后端路由:

    • 理解:value是function,用于处理客户端提交的请求
    • 工作过程:服务器接收到一个请求时,根据请求路径找到匹配的函数来处理请求,返回响应数据

    2.前端路由

    • 理解:value是component,用于展示页面内容
    • 工作过程:当浏览器的路径改变时,对应的组件就会显示

    二,vue-router的理解

    vue的一个插件库,专门用来实现SPA应用

    三,对SPA应用的理解

    • 单页web应用(single page web application )
    • 整个应用只有一个完整的页面
    • 点击页面的导航链接不会刷新页面,只会做页面的局部更新
    • 数据需要通过Ajax请求获取

    四,vue的相关使用

    1.安装vue-router,命令:npm i vue_router
    2.应用插件:Vue.use(VueRouter)
    3.编写router配置项
    //引入vueRouter
    import VueRouter from 'vue-router'
    //引入要显示的组件
    import home from '../comonents/home'
    //创建router实例对象,去管理一组一组的路由规则
    const roter = new VueRouter({
        routes:[
            {
                path:'abouts',
                component:About
            },
            {
                path:'/home',
                compontent:Home
            }
        ]
    })
    //暴露router
    export default router
    4.实现切换(active-class可配置高亮样式)
    About
    5.指定展示位置

     五,Vue路由案例

    1. //router文件夹下的index.js文件
    2. //该文件专门用于创建整个应用的路由器
    3. import VueRouter from "vue-router"
    4. import homeRouter from '../components/homeRouter'
    5. import AboutRouter from '../components/aboutRouter'
    6. // 创建并暴露一个路由器
    7. export default new VueRouter({
    8. routes: [
    9. {
    10. path:'/about',
    11. component:AboutRouter
    12. },
    13. {
    14. path:'/home',
    15. component:homeRouter
    16. }
    17. ]
    18. })

     

    1. //main.js
    2. import Vue from 'vue'
    3. import App from './app.vue'
    4. // 引入store
    5. import store from './store/index'
    6. // 引入VueRouter
    7. import VueRouter from 'vue-router'
    8. // 引入路由器
    9. import router from './router'
    10. // 关闭Vue的生产提示
    11. Vue.config.productionTip = false
    12. // 应用创建
    13. Vue.use(VueRouter)
    14. new Vue({
    15. store,
    16. router:router,
    17. render: h => h(App),
    18. beforeCreate(){
    19. Vue.prototype.$bus=this
    20. }
    21. }).$mount('#app')
    1. //app.vue
    2. <script>
    3. export default({
    4. name:'App',
    5. })
    6. script>
    7. <style scoped>
    8. a{
    9. text-decoration: none;
    10. }
    11. .list-group a{
    12. display: block;
    13. width: 100px;
    14. border: 2px solid gray;
    15. }
    16. a:hover{
    17. background-color: skyblue;
    18. }
    19. .page-body{
    20. display: flex;
    21. }
    22. style>

     

    1. //aboutRouter.vue
    2. <template>
    3. <div>
    4. <h3>我是about的内容h3>
    5. div>
    6. template>
    7. <script>
    8. export default {
    9. name:'aboutRouter'
    10. }
    11. script>
    12. <style>
    13. style>
    1. //homeRouter.vue
    2. <template>
    3. <div>
    4. <h3>我是home的内容h3>
    5. div>
    6. template>
    7. <script>
    8. export default {
    9. name:'homeRouter'
    10. }
    11. script>
    12. <style>
    13. style>

     如图所示:

     六,Vue中几个注意点

    • 路由器显示组件通常存放在page文件夹,一般组件通常存放在component文件夹
    • 通过切换,“隐藏”了的路由组件,默认是被销毁掉的,需要的时候再去挂载
    • 每个组件都有自己的$route属性,里面存储着自己的路由消息
    • 整个应用只有一个router,可以通过组件的$router属性获取到
  • 相关阅读:
    【JS基本数据类型和引用数据类型的根本区别】
    单目标应用:火鹰优化算法(Fire Hawk Optimizer,FHO)求解微电网优化--提供MATLAB代码
    2. 内核解压-关中断进入svc模式
    【Python机器学习】回归模型:推土机售价预测
    Java项目硅谷课堂学习笔记-P8点播模块管理-后台-管理员端
    frp内网穿透搭建-宝塔版
    vue年季度月联动筛选(el-cascader实现)
    apache-maven-3.6.3 安装配置教程
    C++lambda表达式
    语音增强用到的方法总结
  • 原文地址:https://blog.csdn.net/XCXLOVE_/article/details/139641485