注册一个 behavior,接受一个 Object 类型的参数
属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| data | object | 组件的内部数据,和 properties 一同用于组件的模板渲染 | ||
| methods | object | 组件的方法,包括事件响应函数和任意的自定义方法 | ||
| behaviors | array | 引入其它的 behavior | ||
| created | object | 组件生命周期函数-在组件实例刚刚被创建时执行,注意此时不能调用 setData | ||
| attached | object | 组件生命周期函数-在组件实例进入页面节点树时执行 | ||
| ready | object | 组件生命周期函数-在组件布局完成后执行 | ||
| detached | object | 组件生命周期函数-在组件实例被从页面节点树移除时执行 |
// your-behavior.js
module.exports = Behavior({
name: 'behavior1',
behaviors: [],
properties: {},
data: {
from: 'name',
},
methods: {
handleClick() {
console.log('hello');
}
}
})
定义段 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
| type | - | 是 | 属性的类型 |
| value | - | 否 | Object |
| observer | Function | 否 | 属性值变化时的回调函数 |
示例代码:
module.exports = Behavior({
properties: {
min: {
type: Number,
value: 0
}
}
})
behavior 中的
与组件相同, 无法调用
示例代码:
<view>{{name}}</view>
<view>{{parentName}}</view>
const behavior = require('./your-behavior');
Component({
behaviors: [behavior],
properties: {
parentName: {
type: String,
value: 0
}
},
lifetimes: {
ready() {
this.handleClick(); // console.log('hello')
}
},
data: {
name: 'hello',
},
methods: {
changeName() {
this.setData({
name: "world"
})
}
}
})
同自定义组件, 但遵循以下覆盖规则:
组件和它引用的