小程序自定义组件开发
自定义组件
创建自定义组件
类似于页面,一个自定义组件由 json wxml wxss js 4 个文件组成。需要配置 .json 开启自定义组件
通过在 components 下创建 组件
然后在页面中使用时,通过配置,页面.json 的 **usingComponents ** 来注册组件,注册是以 key-value 方式。 key 为组件名, value 为组件路径
最后直接在页面中使用即可
Component 构造器
Component 构造器可用于定义组件,调用 Component 构造器时可以指定组件的属性、数据、方法等。
自定义引入组件两种方式
局部引入
全局引入
在 app.json 中注册
自定义组件样式
它可以在 Component 中 的 externalClasses 属性来配置 样式作用域。 样式作用域分类;
(1)当值为 isolated,则为开启样式隔离
(2)若为 apply-shared,父影响子,即页面的样式可以影响到组件,但是组件不能影响组件外的样式。
(3)若为 shared 父子影响,为双向影响
使用自定义组件样式流程
通过在 子组件中 Component 中 定义 externalClasses 样式作用域范围,以及自定义样式的 class 类名
然后在子组件页面中使用 定义的 class 类名
在页面中使用组件,传入自定义的 class 就可以影响到组件的样式了
key 必须和 组件中 定义的类型名保持一致, 然后传入自定义类名 value,就可以影响到组件的样式了
:::danger 注意:
不要使用 id 选择器:::
自定义组件 - 插槽
它跟 Vue / React 一样有插槽的功能,但是小程序 插槽比较拉胯,没有插槽作用域,插槽不可以传递值 。默认情况下,一个组件的 wxml 中只能有一个 slot 。需要使用多 slot 时,需要在 js 中 声明
定义插槽
使用插槽
版权声明: 本文为 InfoQ 作者【程序员海军】的原创文章。
原文链接:【http://xie.infoq.cn/article/03389ad8ae9cf3f7f1b523cf8】。文章转载请联系作者。
评论