zmp-vue
Version:
Build full featured iOS & Android apps using ZMP & Vue
26 lines (24 loc) • 663 B
JavaScript
import { onMounted, onBeforeUnmount } from 'vue';
import { zmp, zmpready } from './zmp';
export var useTab = function useTab(elRef, emit) {
var onTabShow = function onTabShow(el) {
if (elRef.value !== el) return;
emit('tab:show', el);
};
var onTabHide = function onTabHide(el) {
if (elRef.value !== el) return;
emit('tab:hide', el);
};
onMounted(function () {
if (!elRef.value) return;
zmpready(function () {
zmp.on('tabShow', onTabShow);
zmp.on('tabHide', onTabHide);
});
});
onBeforeUnmount(function () {
if (!zmp) return;
zmp.off('tabShow', onTabShow);
zmp.off('tabHide', onTabHide);
});
};