UNPKG

egg-born-front

Version:
45 lines (43 loc) 1.17 kB
export default function () { // beforeCreate const beforeCreate = function (ctx) { Object.defineProperty(ctx, '$view', { get() { return ctx.$f7router && ctx.$f7router.view.$el[0].__vue__; }, }); Object.defineProperty(ctx, '$viewAppMethods', { get() { return ctx.$view || ctx.$meta.vueLayout.appMethods; }, }); Object.defineProperty(ctx, '$page', { get() { let page = ctx.$pageContainer; if (!page) return null; while (page.$parent.$options._componentTag !== 'eb-view') { page = page.$parent; } return page; }, }); Object.defineProperty(ctx, '$pageContainer', { get() { const pageEl = ctx.$$(ctx.$el).closest('.page'); const page = pageEl.length > 0 && pageEl[0].__vue__; if (!page) return null; return page; }, }); Object.defineProperty(ctx, '$pageRoute', { get() { const page = ctx.$page; if (!page) { return ctx.$f7router.currentRoute; } return page.$vnode.data.props.f7route; }, }); }; return { beforeCreate }; }