mpx 中手写一个关联组件 relations 使用

2019-03-28 15:39:01 浏览数 (2)

前文 父组件 tabbar 子组件 tabbar-item


  • 关键点 relations 中如何在.mpx找到准确的关联组件的路径
  • 父组件代码
代码语言:javascript复制
//mpx ?resolve找到component组件hash路径 
import tabbarItem from '../tabbar-item/index?resolve'  

createComponent({
	relations : {
      [ tabbarItem ] : {
        type : 'descendant',
        linked : function ( target ) {
          var _this = this;
          
          this.items.push(target)
          
          setTimeout(() => {
            _this.setActiveItem()
          })
        },
        unlinked : function ( target ) {
          var _this2 = this;
          this.items = this.items.filter(function ( item ) {
            return item !== target;
          });
          setTimeout(function () {
            _this2.setActiveItem();
          });
        }
      }
    }
})
  • 子组件代码
代码语言:javascript复制
import tabbar from '../tabbar/index?resolve' 
createComponent({
    relations: {
      [tabbar]:{
        type: 'ancestor'
			}
    }
})

获取子组件或父组件 详细文档移步wx小程序官方文档 https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/relations.html

  • 以子组件获取父组件为例
代码语言:javascript复制
let parent = this.getRelationNodes([tabbar])[0]
组件使用和效果图

ps: 重点在与mpx中 组件关联要使用 【…?resolve】 前面路径具体到.mpx文件 但省略.mpx后缀即可

0 人点赞