🖥️ 微信小程序 专栏:小程序组件化开发
🧑‍💼 个人简介:一个不甘平庸的平凡人🍬

✨ 个人主页:CoderHing的个人主页

🍀 格言: ☀️ 路漫漫其修远兮,吾将上下而求索☀️

👉 你的一键三连是我更新的最大动力❤️


目录

一、小程序组件化思想

小程序组件化开发

二、自定义组件的过程

创建一个组件

使用自定义组件和细节注意事项

三、组件样式实现细节

组件的样式细节

四、组件使用过程通信

组件的通信

向组件传递数据 - properties

向组件传递样式 -  externalClasses(较少使用)

组件向外传递事件 – 自定义事件

页面直接调用组件方法(使用的较少)

五、组件插槽定义使用

什么是插槽?

多个插槽的使用

behaviors

组件的生命周期

组件所在页面的生命周期

六、Component构造器


一、小程序组件化思想

小程序组件化开发

二、自定义组件的过程

创建一个组件

微信小程序 | 小程序组件化开发

微信小程序 | 小程序组件化开发  

微信小程序 | 小程序组件化开发 

使用自定义组件和细节注意事项

微信小程序 | 小程序组件化开发 

三、组件样式实现细节

组件的样式细节

微信小程序 | 小程序组件化开发 

四、组件使用过程通信

组件的通信

很多情况下,组件内展示的内容(数据、样式、标签),并不是在组件内写死的,而且可以由使用者来决定.

微信小程序 | 小程序组件化开发

向组件传递数据 - properties

微信小程序 | 小程序组件化开发

微信小程序 | 小程序组件化开发 

向组件传递样式 -  externalClasses(较少使用)

微信小程序 | 小程序组件化开发

微信小程序 | 小程序组件化开发

微信小程序 | 小程序组件化开发

微信小程序 | 小程序组件化开发

组件向外传递事件 – 自定义事件

有时候是自定义组件内部发生了事件,需要告知使用者,这个时候可以使用自定义事件:

微信小程序 | 小程序组件化开发

页面直接调用组件方法(使用的较少)

微信小程序 | 小程序组件化开发

微信小程序 | 小程序组件化开发 

微信小程序 | 小程序组件化开发  

五、组件插槽定义使用

什么是插槽?

单个插槽的使用

微信小程序 | 小程序组件化开发

微信小程序 | 小程序组件化开发

这里有一个小问题,如图所示, 小程序中 插槽是不能设置默认值的 那么我们怎么去解决呢?

使用 css中的 :empty

微信小程序 | 小程序组件化开发

JavaScript
// 代码展示
//   插槽代码
<view class="my-slot">
  <view class="header">Header</view>
  <view class="content">
    <!-- <view>哈哈哈哈</view> -->
    <!-- 预留插槽 -->
    <!-- 在小程序中,插槽是不支持默认值的 -->
    <slot>哈哈哈哈</slot>
  </view>
  <!-- 我如果想要我没有写插槽 也有一个默认值怎么办呢? 自己动手  我得让我这个 哈哈哈 在有插入东西时不显示
  没有插入东西的时候 显示 css中实现 -->
  <view class="default">哈哈哈哈</view>
  <view class="footer">Footer</view>
</view>
//  index.wxml中代码
<!-- 1.单个插槽的使用 -->
<my-slot>
  <button>我是按钮</button>
</my-slot>
<my-slot>
  <!-- 插入图片 -->
  <image src="/assets/tabbar/home.png" mode="widthFix"></image>
</my-slot>
<my-slot></my-slot>
<my-slot></my-slot>
// css中代码
.default {
  display: none;
}
/* 可以使用兄弟选择器 */
/* :empty 表示 当前元素内容为空的 */
.content:empty + .default {
  display: block;
}

多个插槽的使用

微信小程序 | 小程序组件化开发

微信小程序 | 小程序组件化开发

微信小程序 | 小程序组件化开发

behaviors

微信小程序 | 小程序组件化开发

微信小程序 | 小程序组件化开发

组件的生命周期

微信小程序 | 小程序组件化开发

微信小程序 | 小程序组件化开发 

组件所在页面的生命周期

微信小程序 | 小程序组件化开发

微信小程序 | 小程序组件化开发  

六、Component构造器

微信小程序 | 小程序组件化开发