IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> vue-share-element vue共享元素 vue动画路由跳转 -> 正文阅读

[JavaScript知识库]vue-share-element vue共享元素 vue动画路由跳转

vue-share-element

npm:https://www.npmjs.com/package/vue-share-element

效果

在这里插入图片描述

简介

  • vue-share-element基于vue的单界面路由动画跳转插件。

  • 使用 共享元素的方式 给路由跳转增加动画。

安装

npm install vue-share-element

引用

import shareElement from "vue-share-element";
Vue.use(shareElement);
// 自定义参数 Vue.use(shareElement,{ duration: 600, zIndex: 20001 });
  • duration:过渡动画时间,默认600
  • zIndex:共享元素层级,默认20001

使用

  • router-view
<share-element startType="start-def">
    <router-view></router-view>
</share-element>
  • 包裹 router-view 使 路由跳转 增加动画。

  • startTyperouter-view 跳转动画类型:

    • start-def:淡入淡出(默认)
    • start-top:上下浮动

设置共享元素(一对一)

  • 页面1 元素设置

    <tag  share-key="share-tag" ref="share"/>
    // $router.push('/page2')
    
  • 页面2 元素设置

    <tag  share-key="share-tag" ref="share"/>
    // $router.push('/page1')||$router.go(-1)
    
  • share-key:共享元素key当前元素key一致(必须)
  • ref:必须为share,便 vue-share-element 查找(必须)

设置共享元素(多对一)

  • 页面1 元素设置

    <template>
    <!-- 事件代理 shares标记多对一-->
    <div  @click="toPage" ref="shares">
        <tag v-for="(item, index) in shareList" :key="index" :ref-index="index" share-key="share-tag"/>
        </div>
    </template>
    <script>
        export default {
            data() {
                return {
                    shareList: [],
                };
            },
            methods: {
                // 事件代理 将点击的element 动态设置share
                toPage(e) {
                    if (el.nodeName.toUpperCase() === "TAG") {
                        this.$refs["share"] = e.target;
                        // $router.push('/page2')
                    }
                },
            },
        };
    
  • 页面2 元素设置

    <tag  share-key="share-tag" ref="share"/>
    // $router.push('/page1')||$router.go(-1)
    
  • shares:标记列表中多个share。(必须)
  • :ref-index=“index” :该属性用于 vue-share-element 找到触发定位(必须并固定是下标index)
  • share-key:共享元素key当前元素key一致(必须)
  • 注意跳转界面前主动将 this.$refs[“share”] 动态设置触发的元素

  • tag 元素建议设置 宽高,例如img。
  • 如果父容器加了Padding有动画闪动,父容器需加上 box-sizing: border-box;
  • 共享元素的tag标签不能是vue的根元素,需要包裹。
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-05-14 09:51:45  更:2022-05-14 09:54:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:39:08-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码