微信小程序-----(三)

一、微信小程序组件和样式

1、自定义组件----组件的创建与引用

1.1 创建组件

(1)在项目根目录中,鼠标右键,创建components-----test文件夹

(2)创建的components-----test文件夹上,鼠标右键,点击“新建 Component”

  (3) 键入组件的名称之后回车,自动生成组件对应的4个文件,后缀名分别为.js、.json、.wxml和.wxss

注:为保证目录结构清晰,建议不同组件,存放于单独目录之中

1.2 局部引用组件

组件只能在当前被引用的页面内使用

在页面的.json配置文件中引用组件的方式叫做局部引用。

1.3 全局引用组件

组件可以在每个小程序页面中使用

{

  // 在页面的.json文件中引用组件

  "usingComponents": {

   "my-test1":"/components/test/test"

  }

}

<!-- 在页面的wxml文件中使用组件 -->

<my-test1></my-test1>

1.4 全局引用组件

在app.json全局配置文件中引用组件的方式叫做“全局引用”。

1.5 全局引用和局部引用

根据组件的使用频率和范围,选择合适的引用方式:

(1 )组件多个页面经常被引用,建议全局引用

(2)组件特定页面被引用,建议局部引用

1.6 组件与页面的区别

(1)组件的.json文件中需要声明“component”:true属性

(2)组件的.js文件中调用的是Component()函数

(3)组件的事件处理函数需要定义到methods节点中

1.7 组件的样式隔离特性

默认情况下,自定义组件的样式只对当前组件生效,不会影响组件之外的UI结构

注:

(1)app.wxss中的全局样式对组件无效

(2)只有class选择器会有样式隔离效果,id选择器、属性选择器、标签选择器不受样式隔离的影响

1.8 修改组件的样式隔离选项

stylelsolation修改组件的样式隔离选项:(可选值)

isolation:表示启用样式隔离,在自定义组件内外,使用class指定的样式将不会相互影响

apply-shared:表示页面wxss样式将影响到自定义组件,但自定义组件wxss中指定的样式不会影响页面

shared:表示页面wxss样式将影响到自定义组件,自定义组件wxss中指定的样式也会影响页面和其他设置了apply-shared或shared的自定义组件

二、微信小程序数据、方法、属性和数据 

1、data数据

在小程序组件中,用于组价模板渲染的私有数据,需要定义到data节点中:

Component({

           /**

      * 组件的初始数据

      */

     data: {

           count:0

     }

2、methods方法

事件处理函数和自定义方法需要定义到methhods节点中

3、properties属性

properties是组建的对外属性,用来接收外界传递到组件中的数据

  properties: {

           // 第一种方式:简化的方式 无法指定默认值

           //max:Number;

           //第二种方式:完整的定义方式

           max: {

                 type:Number,

                 value:10

           }

     }

三、分包

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

优点:(1)优化小程序首次启动的下载时间;(2)在多团队共同开发时可以更好的解耦协作

1、分包前后项目的构成

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

分包后:1个主包+多个分包

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

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

2、分包的加载规则

(1)在小程序启动时,默认会下载主包启动主包内页面

tabBar页面需要放到主包

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

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

3、分包的体积限制

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

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

4、配置分包

4.1 配置方法

pages------主包对应页面

package-----分包对应的文件

在app.json的subpackages节点中声明分包的结构

5、使用分包---设置分包的别名并查看分包的体积

name:' 别名'

查看分包体积:详情---基本信息---本地代码

6、打包原则

(1)按sunbpackages的配置进行分包,subpackage之外的目录将被打包到主包中

(2)主包也可以有自己的pages(即最外层的pages)

  (3)    tabBar页面必须在主包内

(4)分包之间不能互相嵌套

7、分包引用原则

(1)主包无法引用分包内的私有资源

(2)分包之间不能相互引用私有资源

(3)分包可以引用主包内的公共资源

8、独立分包

本质上也是分包,可以独立于主包和其他分包而单独运行

9、独立分包的引用原则

独立分包和普通分包以及主包之间,是相互隔绝的,不能相互引用彼此的资源,例如:

(1)主包无法引用独立分包内的私有资源

(2)独立分包之间,不能相互引用私有资源

(3)独立分包和普通分包之间,不能相互引用私有资源

(4)注:独立分包中不能引用主包内的公共资源

10、分包预下载

在进入小程序的某个页面时,由框架自动预下载可能需要的分包,从而提升进入后续分包页面时的启动速度

配置分包预下载:

preloadRule节点

分包预下载的限制:

同一个分包中的页面享有共同的预下载大小限额2M

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容