vue引入vue-router

Vue路由(router)的安装和使用

安装vue-router插件

第一步:在CMD窗口中,使用命令跳转到vue的安装路径下
第二步:输入命令:npm i vue-router@3
vue2 要安装 vue-router3

npm i vue-router@3

vu3 要安装 vue-router4

npm i vue-router@4

第三步:出现added 1 package in 2m表示安装成功

vue-router配置环境

第一步:在main.js文件中导入vue-router命令:import VueRouter from 'vue-router'
第二步:使用命令Vue.use(VueRouter)
第三步:添加配置项,添加新的文件夹router,在router文件夹中添加index.js文件,并导入在main.js文件中:import router from './router/index'
注意:router文件夹中的index.js文件在导入时,可以省略不写index:import router from './router'

   

如何使用路由

单级路由

在router文件夹中添加index.js文件,输入命令(使用路由需要先导入组件)

注意:导入路由的组件,最好和普通组件有所区分,建议创建一个pages文件夹用来存放路由组件

//index.js
import Vue from 'vue';
import VueRouter from 'vue-router';
Vue.use(VueRouter);

const routes = [{
        path: '/Index',
        name: 'Index',
        component: () => import('../pages/home/index'),
    },
    {
        path: '/homeB',
        name: 'homeB',
        component: () => import('../pages/home/B'),
    },

];

const router = new VueRouter({
    mode: 'history',
    base: process.env.BASE_URL,
    routes,
    scrollBehavior(to, from, savedPosition) {
        if (savedPosition) {
            return savedPosition
        } else {
            return {
                x: 0,
                y: 0
            }
        }
    }
})

export default router;
//app.vue
<template>
    <div class="hello">
        <div class="btn">
            <router-link to="/Index">Index</router-link>
        </div>
        <div class="btn">
            <router-link to="/homeB">home B</router-link>
        </div>
        <router-view></router-view>

    </div>
</template>

<script>
    export default {
        name: 'HelloWorld',
        props: {
            msg: String
        }
    }
</script>
// index.vue,homeB.vue内容简单修改即可
<template>
    <div>
        <h2>A</h2>
        <ul>
            <li>Index</li>
            <li>home B</li>
        </ul>
    </div>
</template>

<script>
    export default {
        name : 'Index'
    }
</script>

<router-link to=""></router-link>与<a href=""></a>
在vue文件中,router-link 标签是用来代替 a 标签的
router-link 标签最终编译之后的还是 a 标签。vue-router 库帮助我们完成的
<router-view></router-view>:路由组件显示的位置,router-view 标签只是一个占位符
注意:路由组件在进行切换的时候,被切换的组件会被销毁。

 

posted @ 2024-04-02 18:20  时光独醒  阅读(916)  评论(0编辑  收藏  举报