小程序模板網(wǎng)

自定義組件化開(kāi)發(fā)(附完整示例代碼和效果圖)

發(fā)布時(shí)間:2018-04-25 10:32 所屬欄目:小程序開(kāi)發(fā)教程

自定義組件我把它分為簡(jiǎn)單的三個(gè)步驟, 1.創(chuàng)建組件 --- 2.編寫組件 --- 3.調(diào)用,使用組件.

第一步:創(chuàng)建組件 創(chuàng)建一個(gè)modal文件夾,里面包含 josn.wxml.wcss.js 四個(gè)文件,然后在josn里面添加 "component":true (作用是聲明這一組文件為自定義組件)

第二步. 編寫組件代碼

在modal.wxml :

[html] view plain copy
<view hidden='{{modalHidden}}'>  
  <view class='mask_layer' bindtap='modal_click_Hidden' />  
  <view class='modal_box'>  
    <view class="title">提示</view>  
    <view class='content'>  
      <text class='modalMsg'>{{modalMsg}}</text>  
    </view>  
    <view class='btn'>  
      <view bindtap='modal_click_Hidden' class='cancel'>取消</view>  
      <view bindtap='Sure' class='Sure'>確定</view>  
    </view>  
  </view>  
</view>

在modal.wxss:

[css] view plain copy
.mask_layer {  
  width: 100%;  
  height: 100%;  
  position: fixed;  
  z-index: 1000;  
  background: #000;  
  opacity: 0.5;  
  overflow: hidden;  
}  
.modal_box {  
  width: 76%;  
  overflow: hidden;  
  position: fixed;  
  top: 50%;  
  left: 0;  
  z-index: 1001;  
  background: #fafafa;  
  margin: -150px 12% 0 12%;  
  border-radius: 3px;  
}  

.title {  
  padding: 15px;  
  text-align: center;  
  background-color: gazure;  
}  

.content {  
  overflow-y: scroll; /*超出父盒子高度可滾動(dòng)*/  
}  

.btn {  
  width: 100%;  
  margin-top: 65rpx;  
  display: flex;  
  flex-direction: row;  
  align-items: center;  
  justify-content: space-between;  
  box-sizing: border-box;  
  background-color: white;  
}  

.cancel {  
  width: 100%;  
  padding: 10px;  
  text-align: center;  
  color: red;  
}  

.Sure {  
  width: 100%;  
  padding: 10px;  
  background-color: gainsboro;  
  text-align: center;  
}  

.modalMsg {  
  text-align: center;  
  margin-top: 45rpx;  
  display: block;  
}

在modal.js

[javascript] view plain copy
Component({  
  properties: {  
    modalHidden: {  
      type: Boolean,  
      value: true  
    }, //這里定義了modalHidden屬性,屬性值可以在組件使用時(shí)指定.寫法為modal-hidden  
    modalMsg: {  
      type: String,  
      value: ' ',  
    }  
  },  
  data: {  
    // 這里是一些組件內(nèi)部數(shù)據(jù)  
    text: "text",  
  },  
  methods: {  
    // 這里放置自定義方法  
    modal_click_Hidden: function () {  
      this.setData({  
        modalHidden: true,  
      })  
    },  
    // 確定  
    Sure: function () {  
      console.log(this.data.text)  
    }  
  }  
})

第三步, 使用組件

這里我是在 pages/index/index 頁(yè)面調(diào)用 pages/modal/modal 自定義組件 首先在index.json中進(jìn)行引用說(shuō)明, 這里是設(shè)置自定義組件的標(biāo)簽名和引用路徑

[javascript] view plain copy 
{  
  "usingComponents": {  
    "modal": "../modal/modal"  
  }  
}

然后在index.wxml調(diào)用組件

[html] view plain copy 
<!-- 調(diào)用modal組件 -->  
<modal modal-hidden="{{is_modal_Hidden}}" modal-msg="{{is_modal_Msg}}"/>

在index.js綁定數(shù)據(jù),

[javascript] view plain copy 
Page({  
  data: {  
    is_modal_Hidden:false,  
    is_modal_Msg:'我是一個(gè)自定義組件'  
  }  
})

效果圖:

如果需要查看更加詳細(xì)的文檔,可以在官方文檔查看, 地址



易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開(kāi)源 碼云倉(cāng)庫(kù):starfork
本文地址:http://22321a.com/wxmini/doc/course/24029.html 復(fù)制鏈接 如需定制請(qǐng)聯(lián)系易優(yōu)客服咨詢:800182392 點(diǎn)擊咨詢
QQ在線咨詢