前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微信小程序自定义组件

微信小程序自定义组件

作者头像
小小咸鱼YwY
发布2020-06-19 16:11:28
7550
发布2020-06-19 16:11:28
举报
文章被收录于专栏:python-爬虫python-爬虫

微信小程序自定义组件

一. 创建自定义组件

类似于页面,一个自定义组件由 json wxml wxss js 4个文件组成

二.组件声明

首先需要在自定义组件所在的 json 文件中进行自定义组件声明

代码语言:javascript
复制
{
  "component": true
}

三.编辑组件

同时,还要在 wxml 文件中编写组件模板,在 wxss 文件中加入组件样式

wxml与xcss和普通页面设置差不多

wxml

代码语言:javascript
复制
<!-- 这是自定义组件的内部WXML结构 -->
<view class="inner">
  {{innerText}}
    <slot></slot>
</view>

xcss

代码语言:javascript
复制
/* 这里的样式只应用于这个自定义组件 */
.inner {
  color: red;
}

js文件设置有点区别

代码语言:javascript
复制
Component({
  properties: {
    // 这里定义了innerText属性,属性值可以在组件使用时指定
    innerText: {
      type: String,
      value: 'default value',
    }
  },
  data: {
    // 这里是一些组件内部数据
    someData: {}
  },
  methods: {
    // 这里是一个自定义方法,方法必须写在methods内
    customMethod: function(){}
  }
})

四.再使用该组件的组件页面

首先要在页面的 json 文件中进行引用声明。还要提供对应的组件名和组件路径

代码语言:javascript
复制
	// 引用声明
  "usingComponents": {
  	// 要使用的组件的名称     // 组件的路径
    "component-tag-name": "path/to/the/custom/component"
  }
}

组件的使用和Vue一样,

在wxml文件中

代码语言:javascript
复制
<component-tag-name></component-tag-name>

五.父组件中显示子组件内的变量

父组件的wxml页面传输值

代码语言:javascript
复制
<component-tag-name></component-tag-name>

子组件的wxml

代码语言:javascript
复制
<view>{{变量名}}</view>

让父组件内显示子组件的内容

代码语言:javascript
复制
 #在组件中
   properties: {
    变量名:{
      type:String,
      value:"变量值"
    }
  }
//而不是把变量名放在data中

六.触发子组件的事件时候触发父组件的事件

父组件页面

代码语言:javascript
复制
 页面
 <component-tag-name bind:icre="icre"></component-tag-name>

父组件的js

代码语言:javascript
复制
页面中js
  icre:function(e){
    console.log(e)
    this.setData({
        num:this.data.num+1
    })
  },

子组件页面

代码语言:javascript
复制
<button bindtap='clickpush'>加我</button>

子组件的js

代码语言:javascript
复制
clickpush:function(e){
      console.log(e)
      this.triggerEvent("icre",{"index":13},{})
    }
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 微信小程序自定义组件
    • 一. 创建自定义组件
      • 二.组件声明
        • 三.编辑组件
          • 四.再使用该组件的组件页面
            • 五.父组件中显示子组件内的变量
              • 六.触发子组件的事件时候触发父组件的事件
              相关产品与服务
              云开发 CloudBase
              云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档