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

1 新建一个 mnum.wxml

  1.1 编写结构

   <view class="pressBtn" id="view">

              {{magicNumber}}

               <text id="text" style="color:'#ccc';" catch:tap="onTap">点按我可以打印信息                      </text>

    </view>

2新建一个 mnum.wxss

2.1 编写样式

.pressBtn{

          padding-top: 50rpx;

                 background: rgb(91, 65, 170);

      width:375rpx;

}

3新建一个mnum.json  说明这是一个组件

 {

        "component":true

}    

4新建一个mnum.js   编写这个方法

Component({

 

})

*********************************************************************************************************

5   组件的使用

要调用这的组件的json文件中   

 

"usingComponents": {

      "magic-number":"/pages/magicNumber/mnum"

}

//magic-number 组件的名称

///pages/magicNumber/mnum   组件的路径

要调用这的组件的wxml文件中   

<magic-number></magic-number>

************************************************************************************************

自定义组件的事件和方法

mnum.js中  事件得写在methods这个属性中

 

Component({

  data: {

     magicNumber: Math.random()

   },

      methods: {

             onTap: function(e) {

                  console.log(e);

              this.setData({

                   m agicNumber: Math.random()        

              });

                 }

      },

});

********************************************************************************

自定义组件传值给  父组件

组件中

onTap: function(e) {

                 console.log(e);

           this.setData({

           magicNumber: Math.random()

          });

    this.triggerEvent("getMagicnumber",this.data.magicNumber)

}

父组件中wxml引用组件的地方

<magic-number bind:getMagicnumber="onGetMagicnumber"></magic-number>

 

父组件的js文件中写onGetMagicnumber  这个方法

onGetMagicnumber:function(magicNumber){

    this.setData({

                  num: Math.floor( magicNumber.detail*1000)

          })

}

********************************************************************************

********************************************************************************

传值给组件  自定义组件的生命周期函数

 

Component({

        data: {

                  magicNumber: Math.random()

     },

         methods: {           

                  onTap: function(e) {

                  console.log(e);

      this.setData({

         magicNumber: Math.random()

         });

                  this.triggerEvent("getMagicnumber",this.data.magicNumber)

        }

        },

       attached(){ //生命周期函数

               }

});

 

**********************************************************************

index.wxml中  传值使用 横杠

<magic-number bind:getMagicnumber="onGetMagicnumber"   now-in="Index"></magic-number>

 

Component({

          properties:{

                       nowIn:String

           }        ,

      data: {

                       magicNumber: Math.random()

             },

       methods: {

               onTap: function(e) {

                console.log(e); 

             this.setData({

                   magicNumber: Math.random()

                          });

           this.triggerEvent("getMagicnumber",this.data.magicNumber)

        }

      },

         attached(){

                     console.log(this.data.nowIn)

                     this.triggerEvent("getMagicnumber",this.data.magicNumber)

      }

});

组件中使用 mnum.wxml中 驼峰式 nowIn  直接使用

<view>{{nowIn}}</view>

**********************************************************************

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值