小程序组件创建&数据传递

1. 创建组件(计步器)

首先在根目录创建components文件夹中创建num-controller文件夹(自定义的组件名字),在这个文件夹上点击右键新建一个component,名字也叫做num-controller。

  • num-controller.wxml
<view class="num-controller">
  //减号
  <view class="iconfont icon-jianshao sub-btn" hidden="{{num<1}}" bindtap="sub"></view>
  //数字
  <view class="goods-num" hidden="{{num<1}}">{{num}}</view>
  //加号
  <view class="iconfont icon-zengjia add-btn" bindtap="add"></view>
</view>
  • num-controller.json
{
  "component": true,
  "usingComponents": {}
}

这个文件在创建component的时候会自动写入这段代码。

  • num-controller.js
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    num: Number
  },

  /**
   * 组件的初始数据
   */
  data: {

  },

  /**
   * 组件的方法列表
   */
  methods: {
    add() {

      this.setData({
        num: this.data.num + 1
      })
      this.triggerEvent('numChange', this.data.num);
    },
    sub() {
      if(this.data.num > 0) {
        this.setData({
          num: this.data.num - 1
        })
      }
      this.triggerEvent('numChange', this.data.num);
    }
  }
})

组件内部接收一个参数num,类型是Number;
点击加号触发add方法,首先把init状态变为false,然后数字+1,同时触发numChange方法将改变的数字传到组件外部
点击减号触发sub方法,数字-1,如果数字为0则把init状态变为true,同时触发numChange方法将改变的数字传到组件外部

将组件数据传到外部的方法为this.triggerEvent('方法名',{要传递的数据})

2. 引入组件

在index.wxml里引入组件:

<num-controller num="{{num}}" bindnumChange="numChange"></num-controller>

index.json

{
  "usingComponents": {
    "num-controller": "/components/num-controller/num-controller"//组件地址
  }
}

在json文件里注册组件。

index.js

data: {
    num: 1
},
numChange(e) {
    const numi = e.detail;

 }

data里的num是从组件外传入的num,在numChange方法里用e.detail可以拿到组件内部通过this.triggerEvent传出来的数据

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 因新工作主要负责微信小程序这一块,最近的重心就移到这一块,该博客是对微信小程序整体的整理归纳以及标明一些细节点,初...
    majun00阅读 7,417评论 0 9
  • 微信小程序的特点 小程序是一种不需要下载、安装即可使用的应用,它出现了触手可及的梦想,用户扫一扫或者搜一下即开打开...
    Simple_3f19阅读 883评论 0 0
  • 1.小程序起步 (1)点击https://mp.weixin.qq.com/wxopen/waregister?a...
    GXW_Lyon阅读 3,426评论 0 0
  • 自从大学毕业接触网络文学以来,看过不同的作者的书很多,但是要说真正从成名到现在不断进步的作者,我真正认可的就是烽火...
    未来的骑士123阅读 331评论 0 0
  • 房子里, 昏暗的灯光映衬那清幽的环境, 老人的味道契合着陈旧的装修。 老小孩总有 间小房子和个大柜子。 逢年过节,...
    沐亦曦阅读 158评论 2 7