33.路由的基本使用

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Title</title>

    <script src="https://cdn.bootcss.com/vue/2.6.10/vue.min.js"></script>

    <!--1.安装vue-router路由模块-->

    <script src="https://unpkg.com/vue-router@3.1.3/dist/vue-router.js"></script>

    <style>

        .router-link-active{

            color:red;

            font-weight:bold;

        }

        .myactive{

            color:blue;

            font-size:30px;

        }

        .v-enter,

        .v-leave-to{

            opacity:0;

            transform:translateX(140px);

        }

        .v-enter-active,

        .v-leave-active{

          transition:all 0.5s ease;

        }

    </style>

</head>

<div id="app">

    <p>{{message}}</p>

    <!--<a href="#/login">登录</a>-->

    <!--<a href="#/register">注册</a>-->

    <!--router-link默认渲染为一个a标签,加了tag="span"之后,则会渲染为一个span标签-->

    <router-link to="/login" tag="span">登录</router-link>

    <router-link to="/register">注册</router-link>

    <!--这是vue-router提供的元素,专门用来当做占位符的,将来路由规则匹配到的组件,就会展示到这个touter-view中去,所以我们可以吧router-view认为是一个占位符-->

  <transition mode="out-in">

      <router-view></router-view>

  </transition>

</div>

</body>

<script>

    let login={

        template:'<h1>登陆组件</h1>'

    }

    let register={

        template:'<h1>注册组件</h1>'

    }

    //2.创建一个路由对象,当导入vue-router包之后,在window全局对象中,就有了一个路由的构造函数,叫做VueRouter

    //在new路由对象的时候,可以为构造函数传递一个配置对象

    let routerObj=new VueRouter({

        // route  这个配置对象中的route表示路由匹配规则的意思

        routes:[//路由匹配规则

            //每个路由规则都是一个对象,这个规则对象身上有两个必须的属性

            //属性1是path,表示监听那个路由连接的地址

            //属性2是component,表示如果路由是前面匹配到的path,则展示component属性对应的那个组件

            //注意:component的属性值,必须是一个组件的模板对象,不能是组件的引用名称;

            {path:"/",redirect:'/login'},//这里的redirect和Node中的redirect完全是两码事

            {path:'/login',component:login},

            {path:'/register',component:register}

        ],

        linkActiveClass:'myactive'

    });

    let app=new Vue({

        el:'#app',

        data:{

            message:'Hello World'

        },

        router:routerObj//将路由规则对象注册到vm实例上,用来监听URL地址变化,用来展示对应的组件

    })

</script>

</html>

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.什么是路由 (1)后端路由:对于普通的网站,所有的超链接都是URL地址,所有的URL地址都对应服务器上的资源;...
    不会改变阅读 222评论 0 0
  • 本文转载于前端工匠。如有侵权联系本人立刻删除 一、首先带着问题 要学习vue-ro...
    qiaoguoxing阅读 470评论 0 1
  • 1路由,其实就是指向的意思,当我点击页面上的home按钮时,页面中就要显示home的内容,如果点击页面上的abou...
    你好陌生人丶阅读 1,642评论 0 6
  • 可爱 是对一个人最高级的赞美 夸一个人好看 也许看到她不好看的一面 就会幻灭 夸一个人温柔 也许看到他发脾气的一面...
    布衣读书人阅读 538评论 0 1
  • 1. 有关 how are you 的回答 I'm good, thanks, you? I'm pretty g...
    水冰晶阅读 313评论 0 0