首页 > 其他 > 详细

Vue入门六:前端路由-Vue Router

时间:2021-03-01 16:08:31      阅读:20      评论:0      收藏:0      [点我收藏+]

目录:

  1. Vue-router的基本使用步骤
  2. Vue-router嵌套路由用法
  3. Vue-router动态路由匹配用法
  4. Vue-router命名路由用法
  5. Vue-router编程式导航用法

路由:本质就是对应关系

后端路由:根据不同的URL地址分发不同的资源;

前端路由:根据不同的用户事件,显示不同的页面内容;本质是用户与事件处理函数直接的对应关系。(负责事件监听,触发事件后,通过事件函数渲染不同内容)

SPA:即单页面应用程序,整个页面只有一个页面,内容的变化通过Ajax更新实现、同时支持浏览器地址栏的前进和后退操作;spa的实现原理之一:基于URL地址的hash(hash的变化会导致浏览器记录访问历史的变化,但是hash的变化不会触发新的URL请求);在实现spa的过程中,最核心的技术点就是前端路由。

Vue Router是Vue.js官方的路由管理器,它和Vue.js的核心深度集成,可以非常方便的用于SPA应用程序的开发。
Vue Router包含的功能有:支持HTML5历史模式或hash模式;支持嵌套路由;支持路由参数;支持编程式路由;支持命名路由;
  • 1、Vue-router的基本使用步骤

(1)引入相关的库文件
<!--导入Vue文件,为全局window对象挂载Vue构造函数-->
<script src="vue.js"></script>
<!--导入vue-router文件,为全局window对象挂载VueRouter构造函数-->
<script src="vue-router.js"></script>
(2)添加路由链接
<!--router-link 是vue中提供的标签,默认会被渲染为a标签-->
<!--to属性默认会渲染为href属性-->
<!--to属性的值默认会被渲染为#开头的hash地址-->
<router-link to="/user">User</router-link>
(3)添加路由填充位
<!--路由填充位(也叫做路由占位符)-->
<!--将来通过路由规则匹配到的组件,将会被渲染到router-view所在的位置-->
<router-view></router-view>
(4)定义路由组件
const user = {
        template: `<div>User</div>`
       }    
(5)配置路由规则并创建路由实例
const router = new VueRouter({
        //routes是路由规则数组
        routes: [
            //每个路由规则都是一个配置对象,其中至少包含path和commponent两个属性:
            //path表示当前路由规则匹配的hash地址
            //component表示当前路由规则对应要展示的组件
            {path: ‘/user‘, component: User}
        ]
})
(6)把路由挂载到Vue根实例中
new Vue({
        el:‘#app‘,
        //为了能够让路由规则生效,必须把路由对象挂载到vue实例对象上
        router
});

注:

路由重定向:用户在访问地址A的时候,强制用户跳转到地址C,从而展示特定的组件页面;

通过路由规则的redirect属性,指定一个新的路由地址,可以很方便地设置路由的重定向:

const router = new VueRouter({
        routes: [
            {path: ‘/‘, redirect: ‘/user‘},
            {path: ‘/user‘, component: User}
        ]
})
  • 2、Vue-router嵌套路由用法

(1)用法
 ①嵌套路由功能分析:
点击父级路由链接显示模板内容;模板内容中又有子级路由链接;点击子级路由链接显示子级模板内容;
 ②父路由组件模板
父级路由链接;父组件路由填充位;
③子路由模板
子级路由链接;子级路由填充位;
④嵌套路由配置
父级路由通过children属性配置子级路由;
 (2)示例
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Vue-router的嵌套路由用法</title>
    <script src="./vue.js"></script>
    <script src="./vue-router.js"></script>
</head>
<body>
<div id="app">
    <p>
        <router-link to="/user">User</router-link>
        <router-link to="/register">Register</router-link>
    </p>
    <div>
        <router-view></router-view>
    </div>
</div>
<script>
    const User = {
        template: `<div><h2>User组件</h2></div>`
    }
    const Register = {
        template: `
        <div>
            <h2>Register组件</h2>
            <hr>
            <router-link to="/register/tab1">Tab1</router-link>
            <router-link to="/register/tab2">Tab2</router-link>
            <router-view></router-view>
        </div>
        `
    }
    const Tab1 = {
        template: `<div><h3>Tab1</h3></div>`
    }
    const Tab2 = {
        template: `<div><h3>Tab2</h3></div>`
    }
    const router = new VueRouter({
        routes: [
            {path: ‘/user‘, component: User},
            {
                path: ‘/register‘, component: Register,
                //通过children属性,为、register添加子路由规则
                children: [
                    {path: ‘/register/tab1‘, component: Tab1},
                    {path: ‘/register/tab2‘, component: Tab2}
                ]
            }
        ]
    });
    new Vue({
        el: ‘#app‘,
        router
    });
</script>
</body>
</html>
  • 2、Vue-router动态路由匹配用法

(1)用法

 

Vue入门六:前端路由-Vue Router

原文:https://www.cnblogs.com/hoaprox/p/14460611.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!