Maison  >  Article  >  Applet WeChat  >  Une brève analyse de ce que sont les comportements dans les mini-programmes ? Comment le créer et l'utiliser ?

Une brève analyse de ce que sont les comportements dans les mini-programmes ? Comment le créer et l'utiliser ?

青灯夜游
青灯夜游avant
2022-02-14 19:53:044923parcourir

Quels sont les comportements ? L'article suivant vous présentera les comportements des composants personnalisés dans les mini-programmes, vous présentera comment créer des comportements, les importer et les utiliser, j'espère qu'il vous sera utile !

Une brève analyse de ce que sont les comportements dans les mini-programmes ? Comment le créer et l'utiliser ?

Que sont les comportements

les comportements sont des fonctionnalités utilisées pour partager le code des composants dans des mini-programmes, similaires aux mixins dans Vue.js. Par exemple, dans plusieurs composants, il y a une partie du code qui est exactement la même. Nous n'avons pas besoin de l'écrire pour chaque composant, nous pouvons encapsuler cette partie du code et la mettre dans des comportements pour le partager. Qui utilise cette partie du code ? La référence directe prendra effet


Comment fonctionnent les comportements

  • Dans un mini programme, chaque comportement peut contenir un ensemble de propriétés, de données, de cycle de vie et de méthodes. Lorsqu'un composant le référence, ses propriétés, données et méthodes sont fusionnées dans le composant.
  • Chaque composant peut référencer plusieurs comportements, et chaque comportement peut également se référencer mutuellement

Création de comportements

Appelez la méthode behaviors(Object Object) pour créer une instance de comportements partagés. objet à utiliser par tous les composantsbehaviors(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

可用的节点 类型 是否必填 描述
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)或方法(methodsrrreee

      Importation et utilisation des comportements
    • Dans les composants, utilisez require() La méthode importe les comportements requis . Après le montage, vous pouvez accéder aux données ou aux méthodes dans les comportements
    • rrreee
    • Tous les nœuds disponibles dans les comportements

  • Les plus couramment utilisés sont les propriétés code>, <code>données, méthodes, comportements

    Object MapNon
    Nœud disponible Types Obligatoire Description
    propriétésNon Propriétés du même composant
    données Objet Non Données du même composant
    Méthodes Objet Non td> Identique aux méthodes de composants personnalisés
    comportements Sting Array Non Référence autres comportements
    créés Fonction Non Fonction de cycle de vie
    joint Fonction Non Fonction de cycle de vie
    prêt Fonction Non Fonction de cycle de vie
    déplacée Fonction td> Non Fonction de cycle de vie
    détachée FonctionFonction de cycle de vie

      Règles de remplacement et de combinaison pour les champs portant le même nom
    • Les composants et les comportements auxquels ils font référence peuvent contenir des champs du même nom. Dans ce cas, vous pouvez faire référence aux trois règles de traitement suivantes du même nom
      • Champs de données du même nom (data. )
      • S'ils ont le même nom Les champs de données sont tous des types d'objets et la fusion des objets sera effectuée
    • Dans les autres cas, les données seront écrasées : Composants > Comportements des parents > > Comportements frontaux (remplacement avec priorité élevée) Priorité faible, le plus grand a la priorité la plus élevée)

Propriétés (propriétés) ou méthodes (méthodes) avec le même nom

Si le composant lui-même a cette propriété ou méthode, alors les propriétés ou méthodes du composant écraseront les propriétés ou méthodes du même nom dans les comportements. Si le composant lui-même n'a pas cette propriété ou méthode, les propriétés ou méthodes des comportements ultérieurs définis dans le champ Comportements du composant remplaceront les attributs ou méthodes antérieurs du même nom

🎜D'après l'article précédent, s'il y a des références imbriquées aux comportements, la règle est la suivante : les comportements parents remplacent. attributs ou méthodes du même nom dans les comportements des enfants🎜🎜🎜🎜🎜Fonctions de cycle de vie du même nom🎜🎜🎜Pour différentes fonctions de cycle de vie, suivez l'ordre des fonctions de cycle de vie des composants🎜🎜Pour le même type de fonctions de cycle de vie , suivez les règles suivantes🎜🎜les comportements ont priorité sur l'exécution des composants🎜🎜les comportements enfants ont priorité sur les comportements parents🎜🎜les comportements front ont priorité sur ceux dépendants Les comportements suivants sont exécutés🎜🎜🎜🎜Si les mêmes comportements sont référencés plusieurs fois par un composant, il définira que la fonction de cycle de vie ne sera exécutée qu'une seule fois🎜🎜🎜🎜🎜[Recommandations d'apprentissage associées : 🎜Tutoriel de développement de mini-programmes🎜]🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer