@tarojs/components
Version:
Taro 组件库。
49 lines (44 loc) • 1.33 kB
JavaScript
import _typeof from "@babel/runtime/helpers/typeof";
export var refs = {
mounted: function mounted() {
if (this.$parent && _typeof(this.$parent.$refs) === 'object' && Object.keys(this.$parent.$refs).length) {
var _refs = this.$parent.$refs;
if (this._refCacheKey) {
_refs[this._refCacheKey] = this.$el;
} else {
for (var key in _refs) {
var ref = _refs[key];
if (ref === this) {
this._refCacheKey = key;
_refs[key] = this.$el;
break;
} else if (Array.isArray(ref)) {
var index = ref.indexOf(this);
if (index > -1) {
ref[index] = this.$el;
break;
}
}
}
}
}
},
beforeDestroy: function beforeDestroy() {
if (this.$parent && _typeof(this.$parent.$refs) === 'object' && Object.keys(this.$parent.$refs).length) {
var _refs2 = this.$parent.$refs;
if (this._refCacheKey) {
_refs2[this._refCacheKey] = this;
} else {
for (var key in _refs2) {
if (Array.isArray(_refs2[key])) {
var index = _refs2[key].indexOf(this.$el);
if (index > -1) {
_refs2[key][index] = this;
break;
}
}
}
}
}
}
};