Houjie
2025-04-11 1bf977929dd324f3ac64b70debd8a79443c54392
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/**
 * 实现一个继承的 数组类  代理掉 vue-router 生命钩子的数据
 */
class MyArray extends Array {
    constructor(Router, vueOldHooks, hookFun) {
        super();
        this.Router = Router;
        this.vueOldHooks = vueOldHooks;
        this.hookFun = hookFun;
    }
 
    push(v) {
        this.vueOldHooks.splice(0, 1, v);// 把vue-router路由生命钩子保存起来
        this[this.length] = (to, from, next) => {
            this.hookFun(to, from, next, this.Router);
        };
    }
}
 
export default MyArray;