behavior
需要使用Behavior()
构造器定义。// my-behavior.jsmodule.exports = Behavior({behaviors: [],properties: {myBehaviorProperty: {type: String}},data: {myBehaviorData: {}},attached() {},methods: {myBehaviorMethod() {}}})
behaviors
定义段中将它们逐个列出即可。// my-component.jsconst myBehavior = require('my-behavior')Component({behaviors: [myBehavior],properties: {myProperty: {type: String}},data: {myData: {}},attached() {},methods: {myMethod() {}}})
my-component
组件定义中加入了my-behavior
,而my-behavior
中包含有myBehaviorProperty
属性、myBehaviorData
数据字段、myBehaviorMethod
方法和一个attached
生命周期函数。这将使得my-component
中最终包含myBehaviorProperty
、myProperty
两个属性,myBehaviorData
、myData
两个数据字段,和myBehaviorMethod
、myMethod
两个方法。当组件触发attached
生命周期时,会依次触发 my-behavior
中的attached
生命周期函数和my-component
中的attached
生命周期函数。behavior
中可以包含同名的字段,对这些字段的处理方法如下:behavior
中的属性或方法,如果引用了多个behavior
,在定义段中靠后behavior
中的属性或方法会覆盖靠前的属性或方法;behavior
被一个组件多次引用,它定义的生命周期函数只会被执行一次。behavior
来获得内置组件的一些行为。Component({behaviors: ['wx://form-field']})
wx://form-field
代表一个内置behavior
,它使得这个自定义组件有类似于表单控件的行为。behavior
往往会为组件添加一些属性。在没有特殊说明时,组件可以覆盖这些属性来改变它的type
或添加observer
。属性名 | 类型 | 描述 |
name | string | 在表单中的字段名 |
value | 任意 | 在表单中的字段值 |
export
定义段。这个定义段可以用于指定组件被selectComponent
调用时的返回值。selectComponent
将返回自定义组件的this
插件的自定义组件将返回 null
。使用这个定义段时,将以这个定义段的函数返回值代替。// 自定义组件 my-component 内部Component({behaviors: ['wx://component-export'],export() {return {myField: 'myValue'}}})
<!-- 使用自定义组件时 --><my-component id="the-id" />
this.selectComponent('#the-id') // 等于 { myField: 'myValue' }
本页内容是否解决了您的问题?