位置: IT常识 - 正文

微信小程序--》小程序—全局数据共享和分包(微信小程序开发一个多少钱)

编辑:rootadmin
微信小程序--》小程序—全局数据共享和分包

推荐整理分享微信小程序--》小程序—全局数据共享和分包(微信小程序开发一个多少钱),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:微信小程序开发公司,微信小程序店铺怎么开,微信小程序店铺怎么开,微信小程序开发公司,微信小程序开发公司,微信小程序店铺怎么开,微信小程序开发公司,微信小程序怎么制作自己的小程序,内容如对您有帮助,希望把文章链接给更多的朋友!

🏍️作者简介:大家好,我是亦世凡华、渴望知识储备自己的一名在校大学生

🛵个人主页:亦世凡华、

🛺系列专栏:微信小程序

🚲座右铭:人生亦可燃烧,亦可腐败,我愿燃烧,耗尽所有光芒。

👀引言

       ⚓经过web前端开发的学习,相信大家对于前端开发有了一定深入的了解,今天我开设了微信小程序专栏,主要想从移动端开发方向进一步发展,而对于我来说写移动端博文的第一站就是小程序开发,希望看到我文章的朋友能对你有所帮助。

目录

🙈全局数据共享

安装 MobX 相关的包

创建Store实例

将 Store 中的成员绑定到页面中

在页面使用 Store 中的成员

将 Store 成员绑定到组件中

在组件中使用 Store 中的成员

🙉分包

分包的项目构成:

分包的加载规则:

分包的体积限制:

创建分包

打包原则

分包的引用原则

独立分包

独立分包的引用原则

分包预下载


🙈全局数据共享

全局数据共享(状态管理)是为了解决组件之间数据共享的问题,开发中常用的全局数据共享方案有:Vuex、Redux、MobX等。

在小程序中,可用 mobx-miniprogram (用来创建 Store 实例对象) 配合 mobx-miniprogram-bindings (用来把 Store 中的共享数据或方法,绑定到组件和页面中使用)实现全局数据共享。

安装 MobX 相关的包

在项目中运行如下命令,安装 MobX相关的包:(注意要启用管理员权限) 安装完成重新构建 npm

npm install --save mobx-miniprogram@4.13.2 mobx-miniprogram-bindings@1.2.1

创建Store实例// 创建store文件夹下的store.js文件,在这个 JS 文件中,专门来创建 Store 的实例对象import {observable,action} from 'mobx-miniprogram'export const store = observable({ // 数据字段 numA:1, numB:2, // 计算属性 get sum(){ return this.numA + this.numB }, // actions 函数,专门来修改 store 中数据的值 updateNum1:action(function(step){ this.numA += step }), updateNum2:action(function(step){ this.numB += step }),})

将 Store 中的成员绑定到页面中// 路径需要相对路径,不然会报错import {createStoreBindings} from '../../miniprogram/miniprogram_npm/mobx-miniprogram-bindings/index'import {store} from '../../store/store'Page({ //生命周期函数--监听页面加载 onLoad(options) { this.storeBindings = createStoreBindings(this,{ store, fields:['numA','numB','sum'], actions:['updateNum1'] }) }, //生命周期函数--监听页面卸载 onUnload() { this.storeBindings.detroyStoreBindings() },})在页面使用 Store 中的成员// .wxml文件<view>{{numA}}+{{numB}}={{sum}}</view><van-button type="primary" bindtap="btnHander1" data-step="{{1}}">numA+1</van-button><van-button type="danger" bindtap="btnHander1" data-step="{{-1}}">numB-1</van-button>// .js文件// pages/message/message.jsimport {createStoreBindings} from '../../miniprogram/miniprogram_npm/mobx-miniprogram-bindings/index'import {store} from '../../store/store'Page({ //生命周期函数--监听页面加载 onLoad(options) { this.storeBindings = createStoreBindings(this,{ store, fields:['numA','numB','sum'], actions:['updateNum1'] }) }, //绑定按钮点击事件 btnHander1(e){ // console.log(e); this.updateNum1(e.target.dataset.step) }, //生命周期函数--监听页面卸载 onUnload() { this.storeBindings.detroyStoreBindings() },})

将 Store 成员绑定到组件中import {storeBindingsBehavior} from '../../miniprogram/miniprogram_npm/mobx-miniprogram-bindings/index'import {store} from '../../store/store'Page({ behaviors:[storeBindingsBehavior], storeBindings:{ // 数据源 store, //指定要绑定的store fields:{//指定要绑定的字段数据 numA:()=>store.numA, //绑定字段的第一种方式 numB:(store)=>store.numB,//绑定字段的第二种方式 sum:'sum', //绑定字段的第三种方式 }, actions:{ //指定要绑定的方法 updateNum2:'updateNum2' } },})在组件中使用 Store 中的成员//组件的 .wxml结构<view>{{numA}}+{{numB}}={{sum}}</view><van-button type="primary" bindtap="btnHander2" data-step="{{1}}">numB+1</van-button><van-button type="danger" bindtap="btnHander2" data-step="{{-1}}">numB-1</van-button>//组件的 .js结构methods: { btnHander2(e){ this.updateNum2(e.target.dataset.step) }}

🙉分包微信小程序--》小程序—全局数据共享和分包(微信小程序开发一个多少钱)

分包指的是把一个完整的小程序项目,按照需求划分为不同的子包,在构建时打包成不同的分包,用户在使用时按需进行加载。

分包的好处:可以优化小程序首次启动的下载时间;在多团队共同开发时可以更好的解耦协作。

分包的项目构成:

分包前:

小程序项目中的所有的页面和资源都被打包到一起,导致整个项目的体积过大,影响小程序首次启动的下载时间。

分包后:

分包后,小程序项目由 一个主包 + 多个分包组成:

主包:一般只包含项目的 启动页面 或 TabBar 页面、以及所有分包都需要用到的一些公共资源。

分包:只包含和当前分包有关的页面和私有资源。

分包的加载规则:

在小程序启动时,默认会下载主包并启动主包内页面:

tabBar页面需要放到主包中

当用户进入分包内某个页面时,客户端会把对应分包下载下来,下载完成后在进行展示:

非tabBar页面可以按照功能的不同,划分为不同的分包之后,进行按需下载

分包的体积限制:

目前,小程序分包的大小有以下两种限制:

整个小程序所有分包大小不超过16M(主包+所有分包)

单个分包/主包大小不能超过2M

创建分包

创建分包很简单,只需要在app.json文件下,通过 subpackages 进行分包创建,创建之后保存文件,分包的文件就会自动出现在目录中。

{ "pages":[ //主包的所有界面 "pages/home/home", "pages/message/message", "pages/contact/contact", "pages/index/index", "pages/logs/logs" ], "subpackages":[ //通过subpackages节点,
本文链接地址:https://www.jiuchutong.com/zhishi/299012.html 转载请保留说明!

上一篇:爬虫基本原理(爬虫基本原理有哪些)

下一篇:CSS中哪些属性可继承,哪些不可以?(css中哪些属性可以使用)

  • 魅族18x是线性马达吗(魅族18是什么线性马达)

    魅族18x是线性马达吗(魅族18是什么线性马达)

  • 怎么查看mac地址(win10怎么查看mac地址)

    怎么查看mac地址(win10怎么查看mac地址)

  • 苹果手机短信验证码自动填写怎么设置(苹果手机短信验证码不弹出显示)

    苹果手机短信验证码自动填写怎么设置(苹果手机短信验证码不弹出显示)

  • 手机上docx文档打不开怎么办(手机docx文件)

    手机上docx文档打不开怎么办(手机docx文件)

  • 因为发生太多重定位(因为发生太多重定位是什么意思)

    因为发生太多重定位(因为发生太多重定位是什么意思)

  • 100mbps全双工是什么意思(1.0gbps全双工和100mbps全双工那个速度快)

    100mbps全双工是什么意思(1.0gbps全双工和100mbps全双工那个速度快)

  • 路由器对网速影响大吗(路由器网速影响因素)

    路由器对网速影响大吗(路由器网速影响因素)

  • 华为电话如何通话录音(华为怎么通话)

    华为电话如何通话录音(华为怎么通话)

  • 腾讯课堂有回音怎么解决(腾讯课堂回答问题有回音)

    腾讯课堂有回音怎么解决(腾讯课堂回答问题有回音)

  • eid是什么(iphoneid是什么)

    eid是什么(iphoneid是什么)

  • 英特尔显卡驱动程序可以卸载吗(英特尔显卡驱动下载官网)

    英特尔显卡驱动程序可以卸载吗(英特尔显卡驱动下载官网)

  • 华为ine aloo是什么型号(华为ine-aloo)

    华为ine aloo是什么型号(华为ine-aloo)

  • 三星手机有语音助手吗(三星手机有语音唤醒吗)

    三星手机有语音助手吗(三星手机有语音唤醒吗)

  • 单片机是计算机吗(单片机是计算机专业学的)

    单片机是计算机吗(单片机是计算机专业学的)

  • 红包删除了钱会回来吗(红包删除后钱去哪里了)

    红包删除了钱会回来吗(红包删除后钱去哪里了)

  • 抖音收不到别人的艾特(抖音收不到别人点赞怎么回事)

    抖音收不到别人的艾特(抖音收不到别人点赞怎么回事)

  • 酒店订后砍五折什么意思(酒店订后砍五折怎么赔偿)

    酒店订后砍五折什么意思(酒店订后砍五折怎么赔偿)

  • 华为第二空间怎么打开(华为第二空间怎么改密码)

    华为第二空间怎么打开(华为第二空间怎么改密码)

  • iphonexs续航时间(苹果xs的续航)

    iphonexs续航时间(苹果xs的续航)

  • 怎样取消全民k歌vip自动续费(怎样取消全民K歌里的关注)

    怎样取消全民k歌vip自动续费(怎样取消全民K歌里的关注)

  • Windows 7系统无线网卡怎么手动指定IP地址设置?(windows 7无线开关在哪里)

    Windows 7系统无线网卡怎么手动指定IP地址设置?(windows 7无线开关在哪里)

  • MacOS Big Sur通知中心怎么自定义添加小部件?(macbook通知中心设置)

    MacOS Big Sur通知中心怎么自定义添加小部件?(macbook通知中心设置)

  • 2023前端面试题及答案整理(Vue)(2023前端面试题pdf)

    2023前端面试题及答案整理(Vue)(2023前端面试题pdf)

  • 【vue】 配置代理(vue3.0配置代理)

    【vue】 配置代理(vue3.0配置代理)

  • 帝国cms是什么(帝国cms app)

    帝国cms是什么(帝国cms app)

  • 委托加工应税消费品代扣代缴
  • 车船税是否每年都交
  • 未投入使用的固体废物
  • 工会经费返还怎么使用
  • 股票发行费用属于资本成本中的筹资费用
  • 民非企业附加税入什么科目
  • 营改增结束了吗
  • 公司收个人不开票的货款是否可以收取现金?
  • 收到三代手续费返还
  • 税局代开专票如何做账务处理?
  • 开办费一次性摊销企业所得税
  • 存货 科目
  • 营改增之后对企业的影响
  • 发票报销的补助是否缴纳个人所得税?
  • 申报密码遗失怎么重置
  • 房地产发票冲红的步骤
  • 外省工程需要什么手续
  • 发票有问题找谁
  • 外购公司的长期投资如何做账
  • 收到质量赔偿款从总账做账可以
  • 增值税罚款怎么做凭证
  • 单位收到项目前的钱
  • 收到空头支票解释怎么写
  • 差旅费的会计处理
  • 固定资产计提完折旧怎么处理
  • 因质量问题被扣钱怎么办
  • 公司买了一辆二手汽车,怎么入账
  • 固定资产转让的账务处理
  • 消费赠送积分
  • 企业预付工程车租赁费
  • 工业企业采购供应管理
  • php模板引擎原理
  • zendframework3
  • 无法偿还的应付账款计入什么科目
  • 回迁房会被收回吗
  • vue中created和mounted
  • 【Zabbix实战之部署篇】Zabbix客户端的安装部署方法
  • php function函数的用法
  • python变量赋值的正确方法
  • 资产负债表与利润表之间的关系
  • 公司对自己内部的要求
  • 发工资扣了社保可以要求退回吗
  • 10万销售额是含税还是不含税
  • 生产企业出口退税申报流程操作
  • 营改增之后建筑业预收账款是否需要预交税款
  • 小微企业所得税优惠政策最新2023
  • 高校报销开普票还是专票
  • 定期定额户超过9万如何交个税
  • 收到工程进度款怎么做分录
  • 保教费免征增值税政策
  • 从农民个人手里取出钱
  • 跨年度退货账务处理
  • 支付劳务费需要什么原始凭证
  • 建账的基本原则包括
  • sqlserver正则表达式替换列
  • mysql drop database删除数据库命令实例讲解
  • 注册表及其作用
  • win8.1怎么升级成win7
  • win10预览版退回正式版
  • centos启动按e没用
  • 无线网络连接上但上不了网
  • win10通知栏点击没反应
  • win7 蓝屏1e
  • win7系统安装不了软件怎么办
  • 旅游软件页面
  • linux中shell的作用
  • 如何使用朋友的山姆卡
  • js的事件绑定
  • 基于jquery实现小说
  • vue组件的使用步骤
  • 简单实现异步编码的方法
  • jquery 输出
  • android多点触控
  • jQuery ajax分页插件实例代码
  • Android Studio:adb not responding
  • NGUI学习:(1)spine导入后图层顺序的问题
  • 财税专家刘杨简历图片介绍
  • 不予处理的法律依据
  • 个人的稿酬所得采用什么税率
  • 置换买新车划算吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设