组件扩展

为了更好的理解扩展后的效果,先举一个例子

behavior.js 中:

  1. module.exports = Behavior({
  2. definitionFilter(defFields) {
  3. defFields.data.from = 'behavior'
  4. },
  5. })

component.js 中:

  1. Component({
  2. data: {
  3. from: 'component'
  4. },
  5. behaviors: [require('behavior.js')],
  6. ready() {
  7. // 此处会发现输出 behavior 而不是 component
  8. console.log(this.data.from)
  9. }
  10. })

通过例子可以发现,自定义组件的扩展其实就是提供了修改自定义组件定义段的能力,上述例子就是修改了自定义组件中的 data 定义段里的内容。

原文: https://developer.toutiao.com/docs/framework/custom_component_extends.html