• vue2_路由01_路由的基本使用


    一. 路由规则

    在这里插入图片描述
    在这里插入图片描述

    二. 路由的基本使用

    1. 实现导航区与展示区联动

    在这里插入图片描述

    1.1 创建两个组件

    在这里插入图片描述
    在这里插入图片描述

    1.2 安装路由插件

    在这里插入图片描述
    在这里插入图片描述

    1.3 展示区

    在这里插入图片描述

    1.4 创建路由文件夹

    在这里插入图片描述

    代码

    // 该文件专门用于创建整个应用的路由器
    import VueRouter from 'vue-router'
    //引入组件
    import About from '../components/About'
    import Home from '../components/Home'
    
    //创建并暴露一个路由器
    export default new VueRouter({
    	routes:[
    		{
    			path:'/about', //路径
    			component:About //对应的组件名称
    		},
    		{
    			path:'/home',
    			component:Home
    		}
    	]
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    mian.js文件注册路由

    //引入Vue
    import Vue from 'vue'
    //引入App
    import App from './App.vue'
    //引入VueRouter
    import VueRouter from 'vue-router'
    //引入路由器
    import router from './router'
    
    //关闭Vue的生产提示
    Vue.config.productionTip = false
    //应用插件
    Vue.use(VueRouter)
    
    //创建vm
    new Vue({
    	el:'#app',
    	render: h => h(App),
    	router:router //注册路由
    })
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    1.5 路由标签router-link

    作用: 监测路由跳转

    <!-- Vue中借助router-link标签实现路由的切换 to指定路由跳转路径  active-class配置选中的高亮样式 -->
    <router-link class="list-group-item" active-class="active" to="/about">About</router-link>
    <router-link class="list-group-item" active-class="active" to="/home">Home</router-link>
    
    • 1
    • 2
    • 3

    在这里插入图片描述
    在这里插入图片描述

    1.6 router-view标签使用

    作用: 指定组件的呈现位置

    <!-- 指定组件的呈现位置 -->
    <router-view></router-view>
    
    • 1
    • 2

    1.7 完整的代码

    在这里插入图片描述

    App.vue

    <template>
      <div>
        <div class="row">
          <div class="col-xs-offset-2 col-xs-8">
            <div class="page-header"><h2>Vue Router Demo</h2></div>
          </div>
        </div>
        <div class="row">
          <div class="col-xs-2 col-xs-offset-2">
            <div class="list-group">
    					<!-- 原始html中我们使用a标签实现页面的跳转 -->
              <!-- <a class="list-group-item active" href="./about.html">About</a> -->
              <!-- <a class="list-group-item" href="./home.html">Home</a> -->
    
    					<!-- Vue中借助router-link标签实现路由的切换 -->
    		  <router-link class="list-group-item" active-class="active" to="/about">About</router-link>
              <router-link class="list-group-item" active-class="active" to="/home">Home</router-link>
            </div>
          </div>
          <div class="col-xs-6">
            <div class="panel">
              <div class="panel-body">
    			<!-- 指定组件的呈现位置 -->
                <router-view></router-view>
              </div>
            </div>
          </div>
        </div>
      </div>
    </template>
    
    <script>
    	export default {
    		name:'App',
    	}
    </script>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36

    Home.vue

    <template>
    	<h2>我是Home的内容</h2>
    </template>
    
    <script>
    	export default {
    		name:'Home'
    	}
    </script>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    About.vue

    <template>
    	<h2>我是About的内容</h2>
    </template>
    
    <script>
    	export default {
    		name:'About'
    	}
    </script>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    router/index.js

    // 该文件专门用于创建整个应用的路由器
    import VueRouter from 'vue-router'
    //引入组件
    import About from '../components/About'
    import Home from '../components/Home'
    
    //创建并暴露一个路由器
    export default new VueRouter({
    	routes:[
    		{
    			path:'/about', //跳转地址
    			component:About //对应的组件名称
    		},
    		{
    			path:'/home',
    			component:Home
    		}
    	]
    })
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    main.js

    //引入Vue
    import Vue from 'vue'
    //引入App
    import App from './App.vue'
    //引入VueRouter
    import VueRouter from 'vue-router'
    //引入路由器
    import router from './router'
    
    //关闭Vue的生产提示
    Vue.config.productionTip = false
    //应用插件
    Vue.use(VueRouter)
    
    //创建vm
    new Vue({
    	el:'#app',
    	render: h => h(App),
    	router:router //注册路由
    })
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    三. 总结

    1. 组件注册路由

    	routes:[
    		{
    			path:'/about', //跳转地址
    			component:About //对应的组件名称
    		},
    		{
    			path:'/home',
    			component:Home
    		}
    	]
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    2. 导航栏实现路由跳转

    <!-- Vue中借助router-link标签实现路由的切换 -->
    <router-link class="list-group-item" active-class="active" to="/about">About</router-link>
    <router-link class="list-group-item" active-class="active" to="/home">Home</router-link>
    
    • 1
    • 2
    • 3

    3. 指定展示位置

    <!-- 指定组件的呈现位置 -->
    <router-view></router-view>
    
    • 1
    • 2

    四. 几个注意点

    1. 组件分类

    路由组件,一般组件
    将路由组件放置在pages文件夹,一般组件放置在component文件夹

    2. 切换的组件去哪里???

    被销毁了…

    3. route和router属性

    在这里插入图片描述

    在这里插入图片描述

    五. 总结

    在这里插入图片描述

  • 相关阅读:
    //路径累加和
    力扣(LeetCode)2731. 移动机器人(C++)
    论区块链应用开发中的技术选型
    pytorch迁移学习训练图像分类
    Java集合(一):泛型与Collection集合
    【二叉树的最近公共祖先】【后序遍历】Leetcode 236. 二叉树的最近公共祖先
    解线性方程组的迭代法
    操作系统Linux面试题库和答案
    微信小程序开发流程
    mysql索引创建语句记录
  • 原文地址:https://blog.csdn.net/qq_44289784/article/details/125504092