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

微信小程序中自定义组件的使用

作者头像
天天_哥
发布2018-09-29 14:34:11
8890
发布2018-09-29 14:34:11
举报
文章被收录于专栏:天天天天

从小程序基础库版本 1.6.3 开始,小程序支持简洁的组件化编程。所有自定义组件相关特性都需要基础库版本 1.6.3 或更高。

1. 自定义组件

在开发过程中,加入有这样一种场景,就是在开发的过程中,我们一直要使用一些相同或者类似的结构,我们就可以自定义模块,方便使用,以及后期的维护,了解vue的同学就知道,其中此方法类似vue中的插槽(slot);

2.创建自定义组件的方法

类似页面一样,类似于页面,一个自定义组件由 json、 wxml 、wxss、 js 4个文件组成。要编写一个自定义组件,首先需要在 json 文件中进行自定义组件声明(将 component 字段设为 true 可这一组文件设为自定义组件),例如要自定义一个common组件,需要在common.json中配置如下字段:

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

而其样式也页面的结构也是在对应的文件中编写,

代码语言:javascript
复制
<!--wxml-->
<view class="innertxt" bindtap='customMethod'>
  {{innerText}}
</view>
<view>
  {{color}}
</view>
<slot></slot>


<!--wxss-->

.innertxt{
  width:750rpx;
  color:red;
  font-size:24px;
}

<!--其中需要注意的是:在组件wxss中不应使用ID选择器、属性选择器和标签名选择器。为什么?呵呵-->

与页面和组件不同的是:在自定义组件的 js 文件中,需要使用 Component() 来注册组件,并提供组件的属性定义、内部数据和自定义方法。

代码语言:javascript
复制
//其中数据data和方法methods的使用方法和页面的一样
Component({
  properties: {
    // 这里定义了innerText属性,属性值可以在组件使用时指定
    innerText: {
      type: String,
      value: 'hello weichar',//默认的值,可以在使用时传入
    }
  },
  data: {
    // 这里是一些组件内部数据
   
    color:'red'
  },
  methods: {
    // 这里是一个自定义方法
    customMethod: function () {
       console.log('点击了我')
       this.setData({
         color:'blue'
       })
     }
  }
})
3.自定义组件的使用

例如在index页面中,我们要使用上边的common自定义组件时,需要在index.json文件中进行引用声明。此时需要提供每个自定义组件的标签名和对应的自定义组件文件路径

代码语言:javascript
复制
{
  "usingComponents": {
    "common": "../components/common"
  }
}

再index.wxml中使用

代码语言:javascript
复制
<!--index.wxml-->
<import  src='../template/banner.wxml'/>
<view class="container">
  <image class='part01' src='../img/bg-about01.jpg'></image>
</view>
<view class='num'> {{count}} </view>
<view class='txt'wx:if="{{show=='part01'}}">hello weichar</view>
<button bindtap="add">点击我</button>
<template is="friutsItem"  data='{{friuts}}'/>
<common inner-text='good morning'></common>
<common></common>

编译后就会发现了效果,回头想一想这样的模块化是不是在使用中很方便,而且在以后的维护中也很容易。。。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.07.24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

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