Vue基础复习(6)vue-router路由管理器

vue2.X vue-router路由管理器

Vue-router是Vue官方的路由管理器,是vue.js的核心深度集成,让构建页面更简单

官方文档:介绍 | Vue Router

路由的基本使用

(1) 安装vue模块:初始化:npm init -y 安装Vue:npm i vue@2.6.10 安装路由模块:npm install vue-router@3.5.3

(2) router-link:使用一个自定义组件 router-link 来创建链接。这使得 Vue Router 可以在不重新加载页面的情况下更改 URL,处理 URL 的生成以及编码。

router-view:将显示与Url对应的组件,可放在任意地方

<body>

    <style>

        .main{

            border: 3px solid purple;

            width: 500px;

            height: 500px;

        }

    </style>

    <div id="app">

        <div class="header">

            <h1>头部</h1>

        </div>

        <div class="left">

            <p>

                <ul>

                    <li>

                        <a href="#/foo">Foo的a标签</a>

                    </li>

                    <li>

                        <a href="#/bar">Bar的a标签</a>

                    </li>

                    <li>

                        <!-- 使用router-link组件进行导航 相当于a标签 通过传递to来指定连接 可以没有#哈希值 -->

                        <router-link to="#foo">Foo的a标签2</router-link>

                    </li>

                    <li>

                        <router-link to="#bar">Bar的a标签2</router-link>

                    </li>

                </ul>

            </p>

        </div>

        <div class="main">

            <!-- 路由出口:路由匹配上,对应组件要显示的区域 -->

            <router-view></router-view>

        </div>

    </div>

    <script src="./node_modules/vue/dist/vue.js"></script>

    <script src="./node_modules/vue-router/dist/vue-router.js"></script>

    <script>

        //定义路由组件,也可以从其他文件导入

        const Foo = {

            template:"<div>foo组件内容</div>"

        }

        const Bar = {

            template:"<div>Bar组件内容</div>"

        }

        //配置路由器:根据url地址的变化,配置要显示的组件

        // 每个路由都需要映射到一个组件

        const router = new VueRouter({

            //匹配每一个路由显示的组件是什么

            // 创建路由实例并传递由routes配置

            routes:[

                //和a标签的地址相对应

                {path:"/foo",component:Foo},

                {path:"/bar",component:Bar},

            ]

        })

        new Vue({

            el:"#app",

            // es6的简写 router:router

            router, //将路由器注入到vue实例当中

        })

    </script>

</body>

运行效果:

点击foo时:  

 

点击bar时: 

复杂案例:首页组件化开发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值