UNPKG

zmp-vue

Version:

Build full featured iOS & Android apps using ZMP & Vue

26 lines (24 loc) 663 B
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); }); };