1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- import { beforeEnterHooks } from '../concat';
- import { vuelifeHooks } from '../base';
- import MyArray from '../extends/myArray';
- export const proxyBeforeEnter = function (Router, BeProxy) {
- const proxyDc = Object.create(null);
- const BeProxyKeys = Object.keys(BeProxy);
- for (let i = 0; i < BeProxyKeys.length; i += 1) {
- const key = BeProxyKeys[i];
- Object.defineProperty(proxyDc, key, {
- enumerable: true,
- configurable: true,
- get() {
- const value = BeProxy[key];
- if (key == 'beforeEnter' && value !== undefined) {
- return (to, from, next) => {
- beforeEnterHooks(to, from, next, value, Router);
- };
- }
- return value;
- },
- set(v) {
- BeProxy[key] = v;
- },
- });
- }
- return proxyDc;
- };
- export const proxyEachHooks = function (Router, key, hookFun) {
- const vueOldHooks = vuelifeHooks[key];
- return new MyArray(Router, vueOldHooks, hookFun);
- };
|