小程序开发和基于WePY框架下使用类语法的实现方案

2024-05-21
来源:网络整理

我真的不知道如何进一步缩小标题。 第一个解释是小程序的开发,第二个是基于WePY框架。 因为它使用类似Vue的语法进行小程序开发,所以原生小程序开发和基于Taro框架使用类语法的小程序开发在语法上还是有很大区别的,所以特别强调一下。

一、简介

随着公司对小程序的需求增加,我利用假期自学了原生小程序开发和小程序云开发。 不过公司的小程序项目是基于WePY框架开发的,使用了类似Vue的语法,方便那些习惯使用Vue框架进行前端开发的同学。 因此,在开发WePY之前,必须先学习Vue。

但Vue-like毕竟是Vue-like,和Vue本身还是有很多区别的。 在.x时代,一眼就能看到原生小程序的影子。 现在的2.x时代对此做了很多优化。 本文是基于.x下实现动画效果的弹窗组件,所以使用时一定要注意版本。

2. 代码

动画弹出组件

包含Vue、原生小程序、WePY框架三种实现方案。 具体为什么有3种,我们看下面。

三、实现流程 1、Vue实现

因为WePY框架下的小程序具有类似Vue的语法,所以很自然地想到使用Vue来解决问题。

达到效果

实现原理

通过Vue标签+CSS3动画属性

实现代码

Vue实现弹窗组件

本例中通过cdn引用Vue来测试动画弹窗。因为只是实验,所以没有使用Vue脚手架。

实施逻辑

水平有限,请在自己的知识范围内解释,具体请看代码

使用该组件来监听其下DOM的插入和移除。 特殊功能是您可以添加/过渡到任何元素和组件。 详细来说,当通过 v-if 或 v-show 显示或隐藏 DOM 时,在显示和隐藏的过渡阶段会动态添加一个或多个类。 然后结合CSS3的属性来创建不同过渡阶段的动画样式。 这其实和动画库类似——我在上一篇文章中玩过过渡动画,那段时间就用过这个库。

结果

在Vue项目下,成功实现了弹出组件。 当移植到WePY的小程序项目时,出现了问题。 虽然 WePY 具有类似 Vue 的语法,但它毕竟不是真正的 Vue,因此它不识别组件 ~ Game Over

2、原生小程序的实现

打开小程序官方文档,发现有一个与实现动画相关的API。

达到效果

实现原理

做动画的小程序_小程序开发的动画_开源动画软件

小程序官方.( )

实现代码

原生小程序实现弹出组件

实施逻辑

水平有限,请在自己的知识范围内进行讲解。具体请看代码

创建组件时,使用wx. 初始化动画实例。 通过监听组件显示属性的变化。 根据改变的属性值,调用动画实例的函数(改变CSS属性时调用动画实例的哪个方法),并传入改变的值。 然后导出动画队列并绑定到动画载体(标签)的属性上。

结果

WePY 项目不支持本机小程序语法。 最明显的就是原生小程序手动实现数据绑定,而WePY可以通过类似Vue的v-bind来绑定。 并且两个组件之间存在很多差异。详细信息请查看WePY文档

3、WePY小程序的实现

虽然WePY不支持原生小程序的语法,但在其项目中可以调用原生小程序的官方API。

达到效果

实现原理

小程序官方.( )

实现代码

WePY小程序实现弹窗组件

实施逻辑

水平有限,请在自己的知识范围内进行讲解。具体请看代码

使用类似Vue的语法v-bind绑定动画载体的属性,监听显示和隐藏属性的变化,然后动态导出wx创建的动画实例的动画队列。 此时不需要这样做,因为v-bind已经自动将新的动画队列绑定到动画载体上了。

结果

完美的解决了需求,最终的实现确实很有趣。 它使用Vue语法绑定原生小程序组件特有的属性。这证明勇于尝试和探索是解决问题的唯一途径。

4. 额外补充

在三种方式封装组件的过程中,无论哪一种都支持solt slot组件。 因此,可以将弹窗内容作为槽位,让用户可以根据业务需求拓展出更多个性化的弹窗样式。

5. 感受

前端很复杂,但仍然很有趣。 快点! ! !

分享