npm 包 vue-pose 使用教程

介绍

vue-pose 是一个基于 React Pose 库的 Vue 实现。通过使用 vue-pose,你可以很方便地在 Vue 应用中实现动画效果。

vue-pose 支持非常灵活的动画定义,可以定义进场、出场动画,以及将状态与动画耦合起来。

安装

在 Vue 项目中使用 npm 安装 vue-pose:

--- ------- ------ --------

如果你的项目是用 yarn 管理的,使用如下命令进行安装:

---- --- --------

使用

全局注册

在任意组件中都能使用 pose 标签,你需要将 vue-pose 在你的应用程序中注册为一个插件:

------ --- ---- ------
------ ------- ---- -----------

-----------------

组件级引入

你也可以像普通的组件那样局部导入 vue-pose:

------ - --------- - ---- -----------

------ ------- -
  ----------- -
    ---------
  -
--

Vue 官方推荐使用全局注册的方式,但对于 Nuxt.js 等 SSR 项目来说,组件级引入是更好的选择。

使用 pose 标签

vue-pose 中最重要的标签就是 pose。在应用内声明一个 pose,需要使用 <pose> 标签并指定 name 属性:

----------
  -----
    ----- ---------------
      ---- --------- ---- ---
    -------
  ------
-----------

你可以使用一个可选的 initialPose 属性指定组件第一次渲染的姿势,例如 { rotate: 0 },就表示初始状态下这个 DOM 节点的旋转角度为 0。

----------
  -----
    ----- -------------- --------------- ------- - ---
      ---- --------- ---- ---
    -------
  ------
-----------

定义动画

使用 pose 标签包裹元素后,就可以开始配置动画了。

比如下面这段代码就定义了一个简单的点击当前元素切换其位置和透明度的动画:

----------
  -----
    ----- -------------- --------------- -- -- -- -- -------- - ---
      ---- -----------
        --------- ---------- ------------------ --------- -------- ------- --
        ------------------------
        ----- ---
      ------
    -------
  ------
-----------

--------
  ------ ------- -
    ------ -
      ------ -
        --------- ----------
        -- --
        -- --
        -------- -
      --
    --
    -------- -
      -------- -
        ------------- - ------------- --- --------- - -------- - ----------
      -
    --
    --------- -
      ------ -
        ------ -
          -------- -
            -- -------
            -- -------
            -------- -------------
            ----------- -
              ----- ---------
              ---------- ----
              -------- ---
            -
          --
          ------- -
            -- ------ - ----
            -- -------
            -------- --
          -
        -
      -
    --
    ------ -
      --------------- -
        -------------------------------------
      -
    -
  --
---------

进场和出场动画

插入和移除元素时,需要设置进场和出场动画。

vue-pose 提供了两种方法:

  1. 使用 keyframes
  2. 使用 props

使用 keyframes

我们可以使用关键帧定义和类似于 CSS 动画一样的方式执行它们。

例如在下面的示例中,我们定义了两个不同的关键帧:enterleave,并在在定义了 poseParent 的 PoseGroup 中:

----------
  ------------
    ---- ----------- -- ------ ----------------
      ----- 
        ----------   
        --------------------
        --------------------
      -
        -- --------- --
      -------
    ------
  -------------
-----------

--------
  ------ ------- -
    ------ -
      ------ -
        ------ -
          - ---- -- ----- ----- -- --
          - ---- -- ----- ----- -- --
          - ---- -- ----- ----- -- --
        --
        ------ -
      --
    --
    --------- -
      ------ -
        ------ -
          -------- -
            -------- --
            ---------- -----------
          --
          ------- -
            -------- --
            ---------- -----------
          --
          --------------- -
            -------- --
            ---------- -----------
            ----------- -
              ----- ---------
              ---------- ----
              -------- ---
            --
          --
          --------------- -
            -------- --
            ---------- -------------
            ----------- -
              ----- ---------
              ---------- ----
              -------- ---
            --
          --
        --
      --
    --
  --
---------

使用 props

Props allow you to define enter and exit poses that you want to use within a single pose.

例如:以下代码定义了一个进/出场动画:

----------
  ----
    ---
      ----------- -- ------
      --------------
      --------- ----- ------- ------ ----------- ------ ---------- --
    --- --------- -------
  -----
-----------

--------
  ------ ------- -
    ------ -
      ------ -
        ------ -
          ---- -- ----- ----- ----
          ---- -- ----- ----- ----
          ---- -- ----- ----- ----
        --
        ----- -
          ------ ----
          -------- --
          ----------- -
            --------- ----
          --
        --
        --------- -
          ------ --
          -------- --
        --
        --------- -
          ------ ----
          -------- --      
        -
      --
    --
  --
---------

参考文献

  1. React Posehttps://popmotion.io/pose
  2. Vue Posehttps://popmotion.io/pose/vue/

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/600672693660cf7123b366fd


猜你喜欢

  • npm 包 gclasp 使用教程

    npm 包 gclasp 使用教程 前言 gclasp 是一款便捷的管理 Google Apps Script 项目的命令行工具,它利用 Google 的 API 来帮助开发者快速的构建、测试和部署他...

    4 年前
  • npm 包 ldy-vue-wxparse 使用教程

    背景介绍 在进行前端开发时,我们经常会需要使用到富文本编辑器和渲染器。在使用Vue框架时,我们可以通过使用LDY-Vue-Wxparse这个npm包来方便地实现富文本编辑器和渲染器的功能。

    4 年前
  • npm 包 generator-rnapp 使用教程

    简介 generator-rnapp 是一个 npm 包,可用于快速创建 React Native 应用程序的模板代码,包含了一些基本的 React Native UI 组件和示例功能,旨在帮助开发人...

    4 年前
  • npm 包 weex_lr_web 使用教程

    Weex 是一个跨平台的移动开发框架,允许使用 Vue.js 来构建原生的应用程序。Weex 的专业性质使得它可以在任何一个支持 JavaScript 的平台上进行移动开发。

    4 年前
  • npm 包 liuqi123 使用教程

    npm 是世界上最大的软件包管理器,用于 JavaScript 语言编写的软件包的分发、共享、安装和更新。liuqi123 则是一个非常实用的 npm 包,提供了许多有用的函数和方法,可以在前端开发中...

    4 年前
  • npm 包 crudly 使用教程

    随着前端开发的不断成熟,我们越来越多地使用 npm 进行包管理和依赖管理。其中,npm 上有很多优秀的开源包,为我们的开发工作提供了很多便捷的工具。crudly 就是其中之一,它是一款用于快速生成 C...

    4 年前
  • npm 包 @means88/react-contextmenu 使用教程

    在前端开发的过程中,我们经常需要使用到弹出式菜单来进行操作。虽然可以手动写出弹出式菜单,但是这样的开发效率低下,也难以维护。而 npm 包 @means88/react-contextmenu 就可以...

    4 年前
  • npm 包 invento-component-library 使用教程

    介绍 invento-component-library 是一个基于 React 的 UI 组件库,提供了丰富的 UI 组件和样式,能够帮助开发者快速开发高质量的 web 应用。

    4 年前
  • npm 包 time-field 使用教程

    时间是前端开发中经常需要处理的数据类型,并且格式化时间是一个很常见的需求。如果你在开发中遇到了类似的问题,那么 time-field 这个 npm 包就可以帮到你了。

    4 年前
  • npm 包 zipcode-ja 使用教程

    在前端开发中,常常需要处理邮政编码。对于日本的市级以上住所而言,使用的是7位数字的邮政编码。为了方便前端开发者操作和验证日本邮政编码,开发者们推出了许多实用工具,其中就有 npm 包 zipcode-...

    4 年前
  • npm包uniwue-lernplaetze-scraper使用教程

    在前端开发中,我们经常需要使用 npm 包来提升开发效率,其中一个很有用的 npm 包是 uniwue-lernplaetze-scraper。此包可以帮助我们从 UniWue Learning Sp...

    4 年前
  • NPM包everypixel使用教程

    Everypixel是一个在线图片评分工具,它能够自动评估图片的质量和吸引力,提供高质量的图像处理服务,让用户可以节省时间和资源。此外,everypixel也提供了一个npm包,以便前端开发人员轻松使...

    4 年前
  • npm 包 merklefruit 使用教程

    本文将介绍 npm 包 merklefruit 的使用教程,帮助读者了解如何在前端工作中使用该包。merklefruit 是一个用于计算 Merkle 树和 Merkle 父哈希的工具,提供了一种方便...

    4 年前
  • npm包sensifai-sdk-ngx使用教程

    简介 Sensifai SDK是一个用于图像和视频人工智能分析的工具包。sensifai-sdk-ngx是用于 Angular 框架的npm包。本文将介绍如何使用sensifai-sdk-ngx进行图...

    4 年前
  • npm 包 cordova-plugin-minterfacefiremsg 使用教程

    什么是 cordova-plugin-minterfacefiremsg cordova-plugin-minterfacefiremsg 是用于 cordova 项目的一款消息推送插件,它可以帮助开...

    4 年前
  • npm包:time-field-polymer2 使用教程

    前言 在前端开发中,时间选择组件是一个必不可少的功能,但是如果要编写一个时间选择组件,需要考虑的问题可能有很多。为了解决这个问题,我们可以使用npm包管理器来安装一些现成的组件来实现时间选择功能。

    4 年前
  • npm包 react-cropper-img使用教程

    简介 在前端开发中,图片处理是非常重要且常见的任务。react-cropper-img是一个方便易用的npm包,它提供了一个图片裁剪器,可以在React应用中方便地进行图片裁剪操作。

    4 年前
  • npm包jquery.per-page使用教程

    在前端开发中,分页是一种非常常见的功能,而jquery.per-page是一个可以让我们更方便的实现分页的npm包,本文将详细地介绍如何使用这个npm包。 什么是npm包 npm(Node Packa...

    4 年前
  • npm 包 x-dragandresize 使用教程

    在前端开发中,拖拽和调整组件的大小是常见的交互需求。为了实现这个功能,我们可能需要写很多重复的代码。如果你正在寻找一款轻量级的拖拽和调整大小的 npm 包,那么 x-dragandresize 可能是...

    4 年前
  • npm 包 `sharq-contracts` 使用教程

    前言 在区块链开发中,智能合约是不可避免的一个环节。sharq-contracts 是一个可以帮助前端开发者在调用智能合约时方便地生成 ABI 等信息的 npm 包。

    4 年前

相关推荐

    暂无文章