美文网首页
自定义组件的知识点

自定义组件的知识点

作者: alicemum | 来源:发表于2021-04-13 14:02 被阅读0次

自定义组件的步骤

以tab切换组件为例

  1. 创建自定义组件
    创建components/tab文件夹
    在tab上右键,新建Comoponent,就生成了组件相关的四个文件wxml,wxss,js,json
  2. 完成组件定义
    tab.wxml
<view class="tab">tab</view>
  1. 在页面的json中引入组件
{
  "usingComponents": {
    "y-tab": "/components/tab/tab"
  }
}
  1. 在页面的wxml中使用组件
<y-tab></y-tab>

页面向组件传参

page.wxml向组件传值

<y-tab class-id="{{数据}}" >

tab.js 组件接收传值

properties: {
    classId: {
      type: Number,
      //  默认值
      value: 100
    }
  },

类似vue的props,在组件中使用时和data数据一样 this.data.classId

组件向页面传参

tab.js 向页面传参

    //send为自定义事件
    this.triggerEvent("send",新值)

page.wxml中监听事件

<y-tab  bindsend="getChildData"></y-tab>

page.js中接收传参

getChildData(e){
    //e.detail为组件向页面的传参
    console.log(e.detail)
}

类似vue中的this.$emit()传参过程

组件监听器

//当classId发生变化时执行,组件初始化时也会执行一次
  observers: {
    classId() {
      this.getData()
    }
  },

  /**
   * 组件的方法列表
   */
  methods: {
    getData() {
      //模拟网络请求
      let list = tabList.filter(item => {
        return item.classId == this.data.classId
      })
      this.setData({
        list: list[0].contList
      })
    }
  }
})

类似vue中的watch

组件中的生命周期函数

lifetimes: {
    //组件初始化完毕,但此时还不能访问this.setData
    created() {},
    //当组件用wx:if移除时,会触发
    detached() {
      console.log('detached');
    },
    // 组件初始化完毕 ,可以访问this.setData
    attached() {

    }
},

组件中的单个插槽

tab.wxml中需要的位置定义插槽

<slot></slot>

page.wxml中使用

<y-tab>
    <view>嵌入插槽中的内容</view>
</y-tab>

组件中的多个插槽

tab.js中配置

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

tab.wxml中定义插槽

<slot name="c1"></slot>
<slot name="c2"></slot>

page.wxml中使用

<y-tab>
    <view slot="c1">嵌入插槽中的内容</view>
    <view slot="c2">嵌入插槽中的内容</view>
</y-tab>

相关文章

  • (八)Component父子关系组件

    本节知识点 组件里面套着组件 概述 在实际开发中我们经常会遇到在一个自定义组件中使用其他自定义组件。这个时候就需要...

  • vue2 父子组件通信问题

    知识点: 1、父组件使用props 把数据传给子组件。 2、子组件使用 $emit 触发父组件的自定义事件。 de...

  • Dagger使用自定义Score和组件依赖

    知识点: 如何使用自定义Score 使用自定义Score实现全局单例 Component(组件)与Componen...

  • (六)Component初识组件

    本节知识点 组件识vue的核心,必须要学好。组件就是自定义标签。这些标签在HTML中是没有的比如

  • (九)Component标签

    本节知识点 组件标签 模板标签用的`` 概述 标签是vue自定义的标...

  • (十二)给组件绑定原生事件

    本节知识点 给组件绑定原生事件 代码实现 因为自定义组件要想绑定事件必须监听子组件发射过来的事件。而要是用原生的就...

  • (四)内置组件slot

    本节知识点 slot 使用 概述 slot 是标签的内容扩展,也就是使用slot就可以在自定义组件中传递给组件的内...

  • 自定义组件

    创建自定义组件 使用自定义组件

  • 微信小程序-自定义组件

    一、自定义组件介绍 微信小程序提供了自定义组件扩展机制,允许我们使用自定义组件的方式来构建页面。 自定义组件可以使...

  • 调用自定义组件中的方法

    创建自定义组件 .json .js 页面中引入自定义组件 .json .xml 页面中调用自定义组件的方法 .js

网友评论

      本文标题:自定义组件的知识点

      本文链接:https://www.haomeiwen.com/subject/ovtclltx.html