首頁 >微信小程式 >小程式開發 >淺析小程式中什麼是behaviors?怎麼創建和使用?

淺析小程式中什麼是behaviors?怎麼創建和使用?

青灯夜游
青灯夜游轉載
2022-02-14 19:53:044968瀏覽

什麼是behaviors?以下這篇文章帶大家了解一下小程式中自訂元件的 behaviors,介紹一下建立behaviors,並匯入與使用的方法,希望對大家有所幫助!

淺析小程式中什麼是behaviors?怎麼創建和使用?

什麼是behaviors

#behaviors 是小程式中用來實作元件程式碼共享的特性,作用類似Vue.js 中的mixins。例如在多個元件中,有一部分程式碼是完全一樣的,我們沒有必要每個元件寫一遍,為了方便,我們可以把這部分程式碼封裝出來,放在behaviors 中進行共享,誰用到這部分程式碼,直接引用就可以生效


behaviors 的工作方式

  • 在小程式中,每個behaviors 都可以包含一組屬性、資料、生命週期和方法。當組件引用它時,它的屬性、資料和方法會被合併到組件中。
  • 每個元件中可以引用多個behaviors ,每個behaviors 之間也可以互相引用

behaviors 的建立

#呼叫behaviors(Object Object) 方法就可以建立一個共享的behaviors 實例對象,供所有的元件使用

//使用 module.exports 将 behavior 实例对象共享出去
module.exports = Behavior({
    
    //私有数据节点
    data: { },
    
    //属性节点
    properties: { },
    
    //事件处理
    methods: {  }
})

behaviors 的導入與使用

在元件中,使用require() 方法匯入需要的behaviors,掛載後即可存取behaviors 中的資料或方法

//1.使用 `require()` 导入需要的自定义 behaviors 模块
const myBehaviors = require("../../behaviors/behaviors")

Component({

  //2. 将导入的 behaviors 实例对象,挂载到 behaviors数组的节点中便可以使用
  behaviors: [myBehaviors],
  
  properties: {
    //...
  }
  
  //其他代码...
})

#behaviors 中所有可用的節點

比較常用的有propertiesdatamethodsbehaviors

否##Object否同自訂元件的方法behaviorsSting Array引用其它的behaviors生命週期函數生命週期函數生命週期函數##生命週期函數detachedFunction否#生命週期函數
可用的節點 類型 #是否必填 描述
#properties Object Map Object
同組件的資料 #methods
##否
created #Function #否
attached Function
#ready Function
moved Function

  • #同名字段的覆蓋和組合規則

      組件和它引用的behaviors 中可以包含同名的字段,此時可以參考以下三種同名的處理規則
    • 同名的資料欄位(
    data
  • 若同名的資料欄位都是物件類型,會進行物件合併其餘情況會進行資料覆蓋,覆蓋規則: 元件> 父behaviors > 子behaviors 、靠後的behaviors > 靠前的behaviors(優先級高的覆蓋優先級低的,最大的優先級最高)

    • 同名的屬性(
    • properties
    • )或方法(
    • methods
    • )
  • 若元件本身有這個屬性或方法,則元件的屬性或方法會覆寫behaviors 中的同名屬性或方法

    若元件本身沒有這個屬性或方法,則在元件的behaviors 欄位中定義靠後的behaviors 的屬性或方法會覆寫靠前的同名屬性或方法
    • 在上一個基礎上,若有巢狀引用behaviors 的情況,則規則是:父behaviors 覆寫子behaviors中同名的屬性或方法
      • #同名的生命週期函數
      • 對於不同生命週期函數之間,遵循組件生命週期函數的順序
      對於同種生命週期函數,遵循如下規則
    • behaviors 優先於元件執行
    子behaviors 優先於父behaviors執行
靠前的behaviors 優先於靠後的behaviors 執行

#如果同一個behaviors 被一個元件多次引用,它會定義生命週期函數只會被執行一次################【相關學習推薦:###小程式開發教程###】###

以上是淺析小程式中什麼是behaviors?怎麼創建和使用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:juejin.cn。如有侵權,請聯絡admin@php.cn刪除