Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Anim小程序开发框架

Anim小程序开发框架

作者头像
kif
发布于 2023-02-27 09:48:47
发布于 2023-02-27 09:48:47
86300
代码可运行
举报
文章被收录于专栏:kifroomkifroom
运行总次数:0
代码可运行

Anim小程序开发框架

介绍

Anim 框架是基于原生小程序 Mina 框架开发的,采用 rollup 打包,只需要引入 anim.js 即可快速使用。

特点:

  1. 基于小程序 runtime 的增强型开发框架,无需引入各类编译环境,开箱即用。
  2. 可兼容原生使用,无需对项目进行大改,按需使用即可。
  3. 补充多种原生小程序开发框架缺失功能,提高大型工程化项目的可维护性,让开发更省心。
  4. 引入压缩后的文件大小不到 10 kb。

# 使用

# 普通引入

通过 CDN 下载后,放置到小程序项目内部任意地方。推荐引入后挂载到 getApp 上,减少重复代码。

下载地址:

anim.min.js (min 10 kb),下载

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// app.js
const Anim = require('./lib/anim.js')

App({
  onLaunch() {
    this.Anim = Anim
  }
})


// pages/index/index.js

// 可以使用增强型 Anim.Page
const { Anim } = getApp()
Anim.Page({
  data: {},
  computed: {}
})

# 小程序 npm 方式引入

正在开发小程序 npm 方式引入。

# 能力

# 计算属性 Computed

模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的。在模板中放入太多的逻辑会让模板过重且难以维护。巧妙利用 computed 方法,可以让整体代码更简洁清晰。

计算属性是基于它们的响应式依赖进行缓存的,只在相关响应式依赖发生改变时它们才会重新求值,开发者不需要关注依赖的数据是何时更新的。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Anim.Page({
  data: {
    a: 1
  },
  computed: {
    b() {
      return this.data.a + 2
    }
  }
})

# 监听 Watch

当你有一些数据需要随着其它数据变动而变动时,可以用 watch 监听数据的变化,然后执行一些逻辑。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Anim.Page({
  data: {
    a: 1
  },
  watch: {
    a(newVal, oldVal) {
      console.log('a', newVal, oldVal)
    }
  }
})

# 混入 Mixin

混入 (mixin) 可以帮助开发者更好的组织页面代码逻辑,抽象出可复用的逻辑,并分发到各个页面内。当页面使用 mixins 功能时,会将配置选项按一定的规则和页面的配置项进行合并。

支持全局混入,可以让全局共享配置。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const myMixin = {
  onLoad() {
    this.showMessage()
  },
  showMessage() {
    console.log('global show Message')
  }
}
Anim.Page.mixin(myMixin)

支持当前页面混入

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const myMixin = {
  onLoad() {
    this.showMessage()
  },
  showMessage() {
    console.log('show Message')
  }
}
Anim.Page({
  mixins: [myMixin],
  onLoad() {
    console.log('show another message')
  }
})

# 状态管理

使用 wedux 进行全局状态管理,wedux 对数据进行了 Proxy 代理,使得所有使用该 Store 数据的地方都会被统一通知并更新。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Anim.Page({
  store: (state) => {
    return {
      count: state.counter.count
    }
  }
})

# 路由增强

更加符合前端路由库的方法集成。后续可考虑在前端层维护一个路由栈,可以除了后退还可以支持前进等需求。URL 和参数不再需要手动拼装,舒服使用。并且参数支持更加复杂的解析,支持多层嵌套,数组参数。提高小程序开发的便利性。

# API 增强

所有的方法都是 Promise 化。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
this.$router.navigateTo({ path: string, query: Object}).then(resolve)
this.$router.navigateBack(delta: number).then(resolve)
this.$router.redirectTo({ path: string, query: Object}).then(resolve)
this.$router.reLaunch({ path: string, query: Object}).then(resolve)
this.$router.switchTab({ path: string, query: Object}).then(resolve)
# 支持复杂的 query 数据

微信小程序暂时不支持复杂的 query 解析,在 Anim 框架下重新对 URL 做了解析,支持多层嵌套模式和数组参数。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// index.js
Anim.Page({
  onLoad() {
    this.$router.navigateTo({
      path: '/pages/another/another',
      query: {
        a: { b: { c: 3 }},
        d: [1, 2, 3],
        e: [{key: 'val'}, {key: 'val'}]
      }
    })
  }
})

// another.js
Anim.Page({
  onLoad() {
    // 可以获取复杂数据
    console.log(this.$route.query)
  }
})
# 突破小程序 10 层限制

通过 Anim 维护的路由栈,还可以突破 10 层限制,超过十层路由时自动通过 Redirect 方法来进行路由跳转。

# 路由响应

路由数据会存放到 this.data.$route 中,方便 UI 使用。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<view>{{$route.query.id}}</view>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022/05/22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
微信小程序学习(mpvue框架)
mpvue (github 地址请参见 )是一个使用 Vue.js 开发小程序的前端框架。 框架基于 Vue.js 核心,mpvue 修改了 Vue.js 的 runtime 和 compiler 实现, 使其可以运行在小程序环境中,从而为小程序开发引入了整套 Vue.js 开发体验
神葳
2021/01/22
1.4K0
打造小程序组件化开发框架
Gcaufy
2017/05/09
6.9K3
打造小程序组件化开发框架
微信小程序组件化开发框架WePY
compilers: compilers为1.3.1版本之后的功能,如果需要使用其它语法,请先配置compilers,然后再安装相应的compilers。目前支持wepy-compiler-less, wepy-compiler-postcss,wepy-compiler-sass、wepy-compiler-babel、wepy-compiler-pug,其他compiler持续开发中......
达达前端
2019/07/03
1.5K0
微信小程序组件化开发框架WePY
微信小程序WePY开发框架简介
微信小程序入门门槛低、开发周期短、代码编写灵活、传播速度快等优点让微信小程序迅速火爆,开发者纷纷涌入,任何语言开发者一旦多了,就会有新的框架出来,WePY就是一个优秀的微信小程序开发框架。它让微信小程序的开发更加简单,功能更加强大,并且也优化了文件结构,熟悉了WePY之后确实可以让微信小程序开发更上一层楼。
大公爵
2018/12/05
2.6K0
微信小程序WePY开发框架简介
uni-app小程序开发-页面跳转及传值
示例:uni.redirectTo({ url: '/pages/login/login' })
码客说
2024/07/04
8830
微信小程序组件化开发框架wepy学习(二)
通过前面的一篇文章,微信小程序组件化开发框架wepy 学习(一),大家搭建wepy环境应该没有问题了,可以自己去尝试一下,很简单的。 下面来具体讲讲wepy页面与组件直接有哪些东西。
Javanx
2019/09/04
4790
快速入门 WePY 小程序
WePY 是 腾讯 参考了Vue 等框架对原生小程序进行再次封装的框架,更贴近于 MVVM 架构模式, 并支持ES6/7的一些新特性。
王念博客
2019/07/25
2.3K1
Vue 开发必须知道的 36 个技巧【近1W字】
Vue 3.x 的Pre-Alpha 版本。后面应该还会有 Alpha、Beta 等版本,预计至少要等到 2020 年第一季度才有可能发布 3.0 正式版; 所以应该趁还没出来加紧打好 Vue2.x 的基础; Vue基本用法很容易上手,但是有很多优化的写法你就不一定知道了,本文从列举了 36 个 vue 开发技巧; 后续 Vue 3.x 出来后持续更新.
火狼1
2019/10/09
1.3K0
二十一个必会微信小程序开发技巧(上)
这个其实大家可以理解为是一个公共的组件的js文件,这个js文件可以在你的任何组件页面内引用,引入后你的被引用的js文件就拥有了你引入的这个behaviors.js中的一切方法及变量
inline705
2022/11/22
1.1K0
二十一个必会微信小程序开发技巧(上)
深入Vue.js:从基础到进阶的全面学习指南
Vue.js是一个用于构建用户界面的渐进式JavaScript框架。与其他重量级框架不同,Vue.js采用自底向上增量开发的设计。Vue.js的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。在现代前端开发中,Vue.js与React、Angular并列,成为三大主流框架之一。
九转成圣
2024/06/08
4760
记一次mpvue开发完整小程序相关笔记
这是一篇历史笔记,写于9102年初,记录mpvue开发的相关坑点和常用技巧,大佬们勿喷...
Sneaker-前端公虾米
2021/12/23
7860
记一次mpvue开发完整小程序相关笔记
小程序框架与生命周期
框架的核心是一个响应的数据绑定系统,可以让数据与视图非常简单地保持同步。当做数据修改的时候,只需要在逻辑层修改数据,视图层就会做相应的更新。
用户10196776
2023/10/17
4430
小程序框架与生命周期
微信小程序组件化开发框架WePY
版本init新生成的代码包会在根目录包含project.config.json文件
达达前端
2019/07/28
7430
wepy框架入门
使用微信开发者工具新建项目,本地开发选择dist目录。 微信开发者工具 --> 项目 --> 关闭ES6转ES5。 本地项目根目录运行wepy build --watch,开启实时编译。
达达前端
2019/07/03
7290
wepy框架入门
Mixin混入
混入 (mixin) 提供了一种非常灵活的方式,来分发 Vue 组件中的可复用功能。一个混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被“混合”进入该组件本身的选项。
小小杰啊
2022/12/21
3690
Vue框架笔记
​ 全局混入:Vue.mixin(xxx) ​ 局部混入:mixins:['xxx']
小城故事
2024/08/24
2360
前端-微信小程序开发(4):打造自己的UI库
github地址:https://github.com/yexiaochai/wxdemo
grain先森
2019/03/29
1.2K0
前端-微信小程序开发(4):打造自己的UI库
Vue 3 mixins 混入
其实混入理解很简单,就是提取公用的部分,将这部分进行公用,这是一种很灵活的方式,来提供给 Vue 组件复用功能,一个混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被“混合”进入该组件本身的选项。
公众号---人生代码
2020/11/03
2.1K0
Vue 3 mixins 混入
Vue 开发技巧总结
v-model 是 Vue 提供的一个语法糖,它本质上是由 value 属性 + input 事件组成的(都是原生的默认属性)
Krry
2020/08/28
6860
开心档之Vue5
混入 (mixins)定义了一部分可复用的方法或者计算属性。混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被混入该组件本身的选项。
爱学iOS的小麦子
2023/03/02
7880
相关推荐
微信小程序学习(mpvue框架)
更多 >
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
领券
一站式MCP教程库,解锁AI应用新玩法
涵盖代码开发、场景应用、自动测试全流程,助你从零构建专属AI助手
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档