小程序内的分包与数据共享

news2024/11/14 12:11:19

一:数据共享

小程序内的数据共享和vue当中不一样,vue当中的vue实例可以使得所有的组件都能this.store

但是小程序它只有page对象,和组件实例对象.对于vue而言,vue实例可以使得添加的组件都有.

但是page对象页面对象,不能使得页面内部有.只能使得这个页面内能访问.vue实例,会使得执行组件时,添加store属性.但是page对象不可以.

每个对象添加只能顾着自己.

因此如果需要在某个页面/组件内添加共享数据,需要自行每个页面和组件都添加

1)页面内添加

导入函数,导入store对象.

导入的对象可以第一个时添加到哪里,第二个是数据源添加那些数据.会添加到this上,这些其实都是新的存储在新的内存上的变量,只不过当修改mutations的时候,会指向同一个对象的.因此当修改其中一个的时候,有更新的效果.所有的都会变.添加绑定后返回的对象可以解绑.

执行这个函数就能执行store对象共享,什么时候执行呢?数据还未绑定前,onloading.绑定的时候就有,当页面卸载进行解绑,不需要了,不要占用空间.

2)组件内共享数据绑定

组件内没有能组件一开始就的生命周期函数,因此这里写属性,会自动绑定.

上面的方法卸载时,得到的对象内的方法会解绑所有.包括组件.

主包内会一开始就加载第一个路径的地址的页面,以及下载主包内的其他页面.

因此tabbar一般都是首页.就写tabbar/首页路径到主包内

二:分包

1.使用分包的原因

当不使用分包时,加载小程序时会将所有的页面和资源都下载下来.分包,分为主包和分包,小程序一开始只会下载主包的内容,首页1更快渲染.

  • 整个小程序所有分包大小不超过 20M
  • 单个分包/主包大小不能超过 2M

2.如何使用分包呢?

在app.json下,pages原本是所有页面的路径,现在只是主包的路径.

在subpackages所写的是其他分包,每个分包内都有多个页面的路径.

root是根目录下的文件夹

{
  "pages":[
    "pages/index",
    "pages/logs"
  ],
  "subpackages": [
    {
      "root": "packageA",
      "pages": [
        "pages/cat",
        "pages/dog"
      ]
    }, {
      "root": "packageB",
      "name": "pack2",
      "pages": [
        "pages/apple",
        "pages/banana"
      ]
    }
  ]
}

分包内不能再谢谢分包,只能写路径,页面.

全局样式等打包到主包上,如果再分包商不能被所有分包使用.

当加载分包内的某一页面,只会按需下载相关的四个文件.

三:独立分包

像上述分包和主包,即使一开始不跳转到主包,只是打开分包,也会加载主包的内容.

但是独立分包,不同于普通的分包,内部有完整的文件,不需要下载主包,主包内的全局样式等也不会对独立分包内的页面起作用.这是独立分包.

1)开启独立分包

subpackages即可,则执行的时候这个就是独立分包.

{
  "root": "moduleB",
  "pages": [
    "pages/pear",
    "pages/pineapple"
  ],
  "independent": true
}

如果是分包内的页面则一定会加载主包,如果是独立分包的页面,只会加载独立分包的内容.分包做到了按需下载.减少下载的内容.

分包内写有公共样式的多个分包.

独立分包,只有自己的.

进入哪个页面,下载哪个页面的文件,不是整个分包,下载主包也是与页面相关的文件.

四:分包预下载

app.json内

这样写会当加载这个页面的内容时,也会加载相关的文件.packages可以写name.

整个项目内,可以分包预下载的体积大小限制是2M.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1715540.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微信聊天内容怎么监控? | 三款可以监控电脑微信聊天记录的软件大盘点

你是否听说过监控微信呢? 有时出于特定需求,比如家长对孩子上网行为的关心,或者企业对员工工作效率的监控,可能需要了解某些情况下的微信聊天记录。 但请注意,任何未经授权的监控行为都是违法的,并且可能…

使用C语言实现学生信息管理系统

前言 在我们实现学生信息管理系统的过程中,我们几乎会使用到C语言最常用最重要的知识,对于刚学习完C语言的同学来说是一次很好的巩固机会,其中还牵扯到数据结果中链表的插入和删除内容。 实现学生信息管理系统 文件的创建与使用 对于要实现…

【国产中颖】SH79F9202U单片机驱动LCD段码液晶学习笔记

1. 引言 因新公司之前液晶数显表产品单片机一直用的是 C51单片机(SH79F9202U9),本人之前没有接触过这款单片机,为了维护老产品不得不重新研究研究这款单片机。 10位ADC LCD的增强型8051微控制器 SH79F9202是一种高速高效率8051可兼容单片机。在同样振…

5G工厂长啥样

5G工厂是一种新型的工业互联网基础设施,利用5G为代表的新一代信息通信技术集成,打造新型工业互联网基础设施。在5G工厂中,自动化和智能化设备广泛使用,高度互联的工厂网络得以实现,远程监控和管理成为可能,…

鸿蒙应用模型:【Stage模型开发】概述

Stage模型开发概述 基本概念 下图展示了Stage模型中的基本概念。 图1 Stage模型概念图 [AbilityStage] 每个Entry类型或者Feature类型的HAP在运行期都有一个AbilityStage类实例,当HAP中的代码首次被加载到进程中的时候,系统会先创建AbilityStage实例…

微信网页版登录插件v1.1.1

说到如今的微信客户端,大家肯定会有很多提不完的意见或者建议。比如这几年体积越来越大,如果使用频率比较高,那占用空间就更离谱了。系统迷见过很多人电脑C盘空间爆满,都是由于微信PC版造成的。 而且,它还加了很多乱七…

【第8章】SpringBoot之单元测试

文章目录 前言一、准备1. 引入库2. 目录结构 二、测试代码1. SpringBoot3ApplicationTests2.测试结果 总结 前言 单元测试是SpringBoot项目的一大利器&#xff0c;在SpringBoot我们可以很轻松地测试我们的接口。 一、准备 1. 引入库 <dependency><groupId>org.s…

【JS基础知识07】函数

一&#xff1a;函数是什么以及函数作用 1 函数是什么 函数是经过封装、调用后&#xff0c;能够完成特定任务的代码块 2 函数的作用 仅需“函数名(实参)”就可以调用函数&#xff0c;起到精简代码&#xff0c;提高开发效率的作用 二&#xff1a;函数使用 1 语法规则&#…

Android 控件保持宽高比得几种方式

文章目录 Android 控件保持宽高比得几种方式adjustViewBounds百分比布局ConstraintLayout自定义View Android 控件保持宽高比得几种方式 adjustViewBounds 仅适用于 ImageView&#xff0c;保持横竖比。 <ImageViewandroid:layout_width"match_parent"android:l…

【使用ChatGPT构建应用程序】应用程序开发概述:1. 管理秘钥、2. 数据安全、3. 与应用程序解耦、4. 注意提示语的注入攻击

文章目录 一. 首先注意的两个方面1. 管理API密钥1.1. 用户提供API密钥1.2. 你自己提供API密钥 2. 数据安全和数据隐私 二. 软件架构设计原则&#xff1a;与应用程序解耦三. 注意LLM提示语的注入攻击1. 分析输入和输出2. 监控和审计3. 其他要注意的注入情况 在了解了ChatGPT的文…

SheetJS V0.17.5 导入 Excel 异常修复 Invalid HTML:could not find<table>

导入 Excel 提示错误&#xff1a;Invalid HTML:could not find<table> 检查源代码 发现 table 属性有回车符 Overview: https://docs.sheetjs.com/docs/ Source: https://git.sheetjs.com/sheetjs/sheetjs/issues The public-facing websites of SheetJS: sheetjs.com…

Linux静态库、共享动态库介绍、制作及使用

参考学习&#xff1a;Linux下的各种文件 、动态库基本原理和使用方法&#xff0c;-fPIC选项的来龙去脉 、Linux静态库和动态库分析 文章写作参考&#xff1a;Linux共享库、静态库、动态库详解 - sunsky303 - 博客园 (cnblogs.com) 一.Linux共享库、静态库、动态库详解 使用G…

2021CSP-J普及组复赛-第一题:分糖果

2021CSP-J普及组复赛 第一题&#xff1a; 题目&#xff1a; 输入&#xff1a; 7 16 23输出&#xff1a; 6思路&#xff1a; 这是一个简单的思考题&#xff0c;没有用到重要的算法 ①简单的思路即暴力方法就是利用for循环从L 到 R 遍历求出其中最大的奖励值&#xff0c;由于R…

全程曝光 计算机领域顶会投稿后会经历哪些关键环节?

会议之眼 快讯 亲爱的计算机领域大牛们&#xff0c;当你挥洒汗水&#xff0c;精心打磨一篇科研论文&#xff0c;终于怀着激动的心情投稿至顶会——&#xff08;如&#xff08;ACM MM 、ACL、AAAI&#xff09;时&#xff0c;你是否想知道接下来这篇论文会经历怎样的旅程&#x…

数据结构(1):线性表

1 线性表的顺序实现 创建的新项目是cpp类型哦&#xff01; 1.1 初始化 1.1.1 静态分配 #define _CRT_SECURE_NO_WARNINGS#include <stdio.h> #define MaxSize 10 //定义顺序表的长度 typedef struct {int data[MaxSize];//用静态的数组存放元素&#xff01;int lengt…

【错题集-编程题】小红取数(动态规划 - 01 背包 + 同余)

牛客对应题目链接&#xff1a;小红取数_牛客题霸_牛客网 (nowcoder.com) 一、分析题目 这道题是不能用空间优化的。 同余原理 a % k x 和 b % k y <> (ab) % k 0 <> (xy) % k 0 状态表示 dp[i][j]&#xff1a;表示从前 i 个数中挑选&#xff0c;总和 %k 等于 j…

一篇文章搞懂二叉树

文章目录 DP 树叶的度树的度节点的层次节点的祖先节点的子孙双亲节点或父节点 树的表示孩子兄弟表示法双亲表示法树和非树树的应用 二叉树满二叉树完全二叉树推论二叉树的存储以数组的方式以链表的方式堆(Heap)堆的分类大根堆和小根堆的作用 二叉树的遍历DFS和BFS DP 动态规划…

NVR对接三方相机预览黑屏问题案例

一、 问题现象 【问题现象】NVR接入三方相机,通道状态显示在线,但本地、web预览显示黑屏。更换H.264&#xff0c;H.265均预览黑屏&#xff0c;且NVR侧的萤石云手机APP预览报错260025。 【现场拓扑】现场拓扑如下 &#xff08;1&#xff09; IPC使用onvif协议添加至NVR&#xff…

Facebook的魅力:数字时代的社交热点

在当今数字化时代&#xff0c;社交媒体已经成为人们日常生活中不可或缺的一部分&#xff0c;而Facebook作为其中的巨头&#xff0c;一直以其独特的魅力吸引着全球数十亿用户。本文将深入探讨Facebook的魅力所在&#xff0c;以及它在数字时代的社交热点。 1. 社交网络的霸主&…

如何做好投入式水位计的安装与维护

投入式水位计是一种广泛应用于各种环境和水位监测场景的精确测量设备。为了确保其长期稳定运行和测量准确性&#xff0c;正确的安装和维护至关重要。本文将详细介绍投入式水位计的安装步骤和注意事项&#xff0c;以及维护过程中的关键要点。 一、投入式水位计的安装 准备工作&a…