zoukankan      html  css  js  c++  java
  • Day4.5路由添加切换动画

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src="../lib/js/vue.js"></script>
        <!--    第一步:安装 vue-router -->
        <script src="../lib/js/vue-router.js"></script>
        <!--    -->
        <style>
            /**
                第一种方法:使用原生提供的类 加样式
             */
            .router-link-active,
                /**
                    第二种方法:使用自己定义的类 加样式
                 */
            .myActive{
                color: #204d74;
                font-weight: 800;
                font-style: italic;
                font-size: 60px;
                background-color: yellow;
            }
            /* 组件切换动画样式 */
            .v-enter,
            .v-leave-to{
                opacity: 0;
                transform: translateX(200px);
            }
            .v-enter-active,
            .v-leave-active{
                transition: all 0.5s linear;
            }
        </style>
    </head>
    <body>
    <div id="app">
        <!--    <a href="#/login">登录</a>-->
        <!--    <a href="#/register">注册</a>-->
        <!--    router-link 的使用
                    router-link 默认渲染为一个  a  标签,也可以使用 tag='span' 渲染为指定的标签 -->
        <router-link to="/login">登录</router-link>
        <router-link to="/register">注册</router-link>
    
        <!--    router-view 是由 vue-router 提供的,专门用来当作占位符的,将来路由规则匹配到的组件
                   就会展示到这个 router-view 中去-->
    <!--    为组件切换添加动画 -->
        <transition mode="out-in">
            <router-view></router-view>
        </transition>
    </div>
    <script>
        // 创建组件模板对象
        const login = {
            template:'<h1>login组件</h1>'
        };
        const register = {
            template:'<h1>register组件</h1>'
        };
        /**
         * vue-router 基本使用
         * @type {VueRouter}
         */
    //  创建一个路由对象,当导入 vue-router 包之后,在 window 全局对象中,就有了一个
    //      路由的构造函数,叫作 VueRouter
    //  在 new 路由对象的时候,可以为 构造函数传递一个配置对象
        const routerObj = new VueRouter({
            // route // 这个配置对象中的 route 表示【路由匹配规则】
    
            routes:[ // 路由匹配规则
    
                // 请求重定向,这里的 redirect 和 node 中的 redirect 完全是两码事
                { path:'/',redirect:'/login'},
                // 每个路由规则都是一个对象,这个对象身上有两个必须的属性
                //    属性1. path,表示监听哪个路由链接地址
                //    属性2. component,表示如果路由是前面匹配到的path,则展示 component属性对应的那个组件
                //  注意:component的属性值,必须是一个组件的模板对象,不能是组件的引用名称
                { path:'/login',component:login },
                { path:'/register',component:register }
            ],
            /**
             * 修改高亮的第二种方式,自己定义类
             */
            linkActiveClass:'myActive'
        });
    
    
        // 创建 vue 实例
        const vm = new Vue({
            el:'#app',
            data:{},
            methods:{},
    
            // 将路由规则对象注册到 vm 实例上,用来监听 URL 地址的变化,然后展示对应的组件
            router:routerObj
        })
    </script>
    </body>
  • 相关阅读:
    sqli-labs Less29-Less31
    sqli-labs Less23-Less28a
    sqli-labs Less20-Less22
    sqli-labs Less17--Less19
    sqli-labs Less13-Less16
    为什么选择centos,而不是Dibian、Ubuntu【转】
    sublime 安装常用插件
    Linux常用命令
    在UEFI下安装windows和Ubuntu双系统目前不可行
    nginx 环境搭建(基于linux)
  • 原文地址:https://www.cnblogs.com/zhaohui-116/p/12241474.html
Copyright © 2011-2022 走看看