浅析小程序中什么是behaviors?怎么创建和使用?(wx:pjcoder的博客)
什么是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 中所有可用的節點
比較常用的有 properties、data、methods、behaviors
| 可用的節點 | 類型 | 是否必填 | 描述 |
|---|---|---|---|
| properties | Object Map | 否 | 同組件的屬性 |
| data | Object | 否 | 同組件的數據 |
| methods | Object | 否 | 同自定義組件的方法 |
| behaviors | Sting Array | 否 | 引用其它的 behaviors |
| created | Function | 否 | 生命周期函數 |
| attached | Function | 否 | 生命周期函數 |
| ready | Function | 否 | 生命周期函數 |
| moved | Function | 否 | 生命周期函數 |
| detached | Function | 否 | 生命周期函數 |
同名字段的覆蓋和組合規則
組件和它引用的 behaviors 中可以包含同名的字段,此時可以參考以下三種同名的處理規則
-
同名的數據字段 (
data)- 若同名的數據字段都是對象類型,會進行對象合并
- 其余情況會進行數據覆蓋,覆蓋規則: 組件 > 父 behaviors > 子 behaviors 、靠后的 behaviors > 靠前的 behaviors(優先級高的覆蓋優先級低的,最大的優先級最高)
-
同名的屬性(
properties)或方法(methods)- 若組件本身有這個屬性或方法,則組件的屬性或方法會覆蓋 behaviors 中的同名屬性或方法
- 若組件本身無這個屬性或方法,則在組件的 behaviors 字段中定義靠后的 behaviors 的屬性或方法會覆蓋靠前的同名屬性或方法
- 在上一條基礎上,若存在嵌套引用 behaviors 的情況,規則是:父 behaviors 覆蓋 子 behaviors中同名的屬性或方法
-
同名的生命周期函數
- 對于不同生命周期函數之間,遵循組件生命周期函數的順序
- 對于同種生命周期函數,遵循如下規則
- behaviors 優先于組件執行
- 子 behaviors 優先于父 behaviors執行
- 靠前的 behaviors 優先于靠后的 behaviors 執行
- 如果同一個 behaviors 被一個組件多次引用,它會定義生命周期函數只會被執行一次
【相關學習推薦:小程序開發教程】
以上就是淺析小程序中什么是behaviors?怎么創建和使用?的詳細內容,更多請關注風君子博客其它相關文章!
總結
以上是生活随笔為你收集整理的浅析小程序中什么是behaviors?怎么创建和使用?(wx:pjcoder的博客)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SAP Spartacus里的defau
- 下一篇: 关于FastStone Capture