1. 程式人生 > >小程式如何寫自定義元件

小程式如何寫自定義元件

從小程式基礎庫版本1.6.3開始,小程式支援簡潔的元件化程式設計

為什麼寫元件呢?

主要是避免在不同的頁面中重複使用,也可以將複雜的頁面拆分成多個低耦合的模組,有助於程式碼維護。

自定義元件在使用時與基礎元件非常相似。

 

如何編寫一個自定義元件?

每個自定義元件由四個程式碼檔案組成:

json檔案 用於於放置一些最基本的元件配置

wxml 檔案 元件模版

wxss 檔案 元件的樣式,只在元件內部節點上生效

js 檔案 元件的 JS 程式碼,承載元件的主要邏輯

這四個檔案與編寫一個頁面時用到的四個檔案非常類似,但也有區別。下面將介紹如何利用這四個檔案編寫一個簡單的自定義元件。

 

1、元件配置

json 配置檔案資訊

這裡我們把檔案放置在小程式的 components目錄下 命名為 emptyPage。

命名為 emptyPage.json 。

{
  "component": true,
  "usingComponents": {}
}

2、元件模板

在同一目錄下,建立一個模版檔案 emptyPage.wxml

<view class='emptyPage-view' wx:if='{{isShow}}'>
  <image class='emptyPage-image' src='../../images/wuneirong.png'></image>
  <view class='emptyPage-text'>這裡什麼也沒有哦!</view>
</view>

 

3、元件樣式

在同一目錄下,建立一個模版檔案 emptyPage.wxss

.emptyPage-view{
  width: 100%;
  height: 100%;
  background-color: white;
  display: flex;
  flex-direction: column;
  justify-items: center;
  align-items: center;
}

.emptyPage-image{
  margin-top: 266rpx;
  width: 360rpx;
  height: 188rpx;
}
.emptyPage-text{
  margin-top: 28rpx;
  font-family: PingFangSC-Regular;
  font-size: 28rpx;
  color: #C6C6C6;
  text-align: center
}

4、元件定義

元件的 JS 檔案中必須包含元件定義。定義時使用 Component 構造器:

Component({
  /**
   * 元件的屬性列表
   */
  properties: {
    isShow: Boolean,//是否顯示
  },

  /**
   * 元件的初始資料
   */
  data: {

  },

  /**
   * 元件的方法列表
   */
  methods: {

  }
})

簡單的 Component 構造器呼叫包含3個定義段:

methods 中的方法可以用來包含元件的事件回撥函式;

data 是元件的內部資料,可以用 this.setData 方法來改變;

properties 中宣告這個元件的屬性,上例中聲明瞭 isShow 屬性,這樣,元件外部在使用元件時就可以指定這個屬性的值。

這樣我們就編寫好了 emptyPage 這個元件。

 

如何使用自定義元件呢?

使用上面這個自定義元件的方法很簡單。

1、宣告元件

在需要使用這個元件的頁面所對應的 json 檔案中,新增下面的自定義元件宣告:

{
    "usingComponents": {
      "emptyPage": "/components/emptyPage/emptyPage"
    }
}

 

2、使用元件

在頁面對應的wxml檔案中使用    是否顯示該介面

    <emptyPage isShow='{{true}}' />

 

除了上述的基本功能外,自定義元件還提供了一組基礎介面,用來實現各種各樣的功能。

這裡只是寫一個簡單的小元件, 如果想學習更多最好到官網檢視更加詳細資訊

微信自定義元件地址