微信小程序开发组件的使用

简介: 开发组件三要素

1、开发组件三要素

     properties  //相当于vue中的props接收属性
   triggerEvent   //相当于vue中的$emit
   slot    //和vue是类似的slot
    1.可以通过slot为自定义组件嵌入wxml结构
    2.默认一个自定义组件只能嵌入一个slot,如果嵌入多个slot必须要开启options中的multipleSlots

    例如:
    Component({
      options:{
        multipleSlots: true, // 在组件定义时的选项中启用多slot支持
      },
      ......
    })

    3.用法:
     第一步:在自定义组件内部添加slot
        <slot name="插槽名称" />

        例如:<slot name="before" />

     第二步:在引入自定义组件的页面中内嵌wxml

     <Dialog>
        <view catchtap="play" slot="before">嵌入的第一个viewX</view>
        <view slot="after">嵌入的第二个view</view>
      </Dialog>
    ```

2、 自定义组件样式隔离问题 - 默认情况,自定义组件外部的样式不会污染到自定义组件内部的样式

    - 设置样式隔离的方法:

        1. 在组件的options中开启styleIsolation选项
                   Component({
          options:{
            styleIsolation: 'isolated',//表示样式隔离,默认隔离
          },

        ```

        2. 通过外部样式类允许外部的某个类来影响自定义组件

        ```
        1.在自定义组件js中添加允许哪个外部类的自定义属性
        Component({
          externalClasses: ['my-bg']
        })

        2.在引入页面的子组件上添加外部样式类属性

        <Dialog my-bg="bg"> </Dialog>

        3. 在子组件内部添加对应的外部样式类名

        <view class="my-bg">xxxx</view>

        ```

​ 3、组件的生命周期

​ created:组件创建完成,但不能setData

​ attached:在组件实例进入页面节点树时执行

​ ready:在组件在视图层布局完成后执行

​ detached:在组件实例被从页面节点树移除时执行

```
Component({
//组件的生命周期
lifetimes:{
creaed() {},
attached() {},
},
//组件与页面相关的生命周期
pageLifetimes: {
show: function() {
// 页面被展示
},
hide: function() {
// 页面被隐藏
},
resize: function(size) {
// 页面尺寸变化
}
}

})

目录
相关文章
|
14天前
|
存储 移动开发 监控
微信支付开发避坑指南
【9月更文挑战第11天】在进行微信支付开发时,需遵循官方文档,确保权限和参数配置正确。开发中应注重安全,验证用户输入,合理安排接口调用顺序,并处理异常。上线后需实时监控支付状态,定期检查配置,关注安全更新,确保系统稳定运行。
|
20天前
|
移动开发 小程序 JavaScript
uni-app开发微信小程序
本文详细介绍如何使用 uni-app 开发微信小程序,涵盖需求分析、架构思路及实施方案。主要功能包括用户登录、商品列表展示、商品详情、购物车及订单管理。技术栈采用 uni-app、uView UI 和 RESTful API。文章通过具体示例代码展示了从初始化项目、配置全局样式到实现各页面组件及 API 接口的全过程,并提供了完整的文件结构和配置文件示例。此外,还介绍了微信授权登录及后端接口模拟方法,确保项目的稳定性和安全性。通过本教程,读者可快速掌握使用 uni-app 开发微信小程序的方法。
52 3
|
29天前
|
小程序
Taro@3.x+Vue@3.x+TS开发微信小程序,设置转发分享
本文介绍了Taro中`useShareAppMessage`的使用方法,需在页面配置`enableShareAppMessage: true`并重新编译。
Taro@3.x+Vue@3.x+TS开发微信小程序,设置转发分享
|
29天前
|
小程序 数据安全/隐私保护
Taro@3.x+Vue@3.x+TS开发微信小程序,网络请求封装
在 `src/http` 目录下创建 `request.ts` 文件,并配置 Taro 的网络请求方法 `Taro.request`,支持多种 HTTP 方法并处理数据加密。
Taro@3.x+Vue@3.x+TS开发微信小程序,网络请求封装
|
9天前
|
小程序 前端开发 JavaScript
Java开发工程师转小程序开发的前景如何?
Java开发工程师转小程序开发的前景如何?
22 0
|
19天前
|
小程序 前端开发 JavaScript
开发支付宝小程序的思路
【9月更文挑战第7天】本文介绍了一种在支付宝小程序中实现网页抓取的方法,通过云函数或自建后端服务来解析外部网页的标题、描述和图片。具体步骤包括:用户输入链接,小程序调用云函数抓取并解析网页内容,最后将结果返回并在前端展示。文中详细介绍了使用 Node.js 的云函数实现过程,包括代码示例和小程序前端页面的实现方法。通过这种方式,可以显著提升链接分享的用户体验。
31 0
|
1月前
|
小程序 JavaScript Java
微信小程序的后端开发需要使用什么语言?
【8月更文挑战第22天】微信小程序的后端开发需要使用什么语言?
290 65
|
29天前
|
小程序 JavaScript
Taro@3.x+Vue@3.x+TS开发微信小程序,使用轮播图
本文介绍了使用 Taro 和 Vue 创建轮播组件的两种方法:一是通过 `&lt;swiper&gt;` 实现,二是利用 Nut UI 的 `&lt;nut-swiper&gt;` 组件实现。
Taro@3.x+Vue@3.x+TS开发微信小程序,使用轮播图
|
29天前
|
小程序
Taro@3.x+Vue@3.x+TS开发微信小程序,上传文件
本文介绍如何在Taro项目中使用Nut UI的`&lt;nut-uploader/&gt;`组件实现图片上传功能,并通过示例代码展示了自定义上传逻辑的方法。
Taro@3.x+Vue@3.x+TS开发微信小程序,上传文件
|
29天前
|
小程序
Taro@3.x+Vue@3.x+TS开发微信小程序,根据系统主题展示不同样式(darkMode)
本文介绍如何在Taro项目中配置深色模式。通过在`src/app.config.ts`设置`darkmode`选项和在`theme.json`中定义主题变量,可以实现跟随系统主题的界面风格切换。
Taro@3.x+Vue@3.x+TS开发微信小程序,根据系统主题展示不同样式(darkMode)