From e40f5578322d7ecbcd45e70debef9c67184d837d Mon Sep 17 00:00:00 2001 From: Tevin <tingquanren@163.com> Date: Wed, 22 Nov 2023 10:57:27 +0800 Subject: [PATCH] 增强业务基类能力,可以转嫁整个继承链 --- bases/Pilot.js | 10 ++++++++-- 1 files changed, 8 insertions(+), 2 deletions(-) diff --git a/bases/Pilot.js b/bases/Pilot.js index f5208f8..d4cad33 100644 --- a/bases/Pilot.js +++ b/bases/Pilot.js @@ -21,10 +21,16 @@ methods: {}, }; const names = []; + let parent = null; // 实例本身的字段 Object.getOwnPropertyNames(this).forEach(name => names.push(name)); - // 类的字段 - Object.getOwnPropertyNames(Object.getPrototypeOf(this)).forEach(name => names.push(name)); + // 基类的字段,直到Pilot为止(不含Pilot) + parent = Object.getPrototypeOf(this); + while (parent instanceof Pilot) { + Object.getOwnPropertyNames(parent).forEach(name => names.push(name)); + parent = Object.getPrototypeOf(parent); + console.log(JSON.stringify(names)); + } // 传递 names.forEach(name => { // 构造器忽略,如果存在属性 $methods 也忽略 -- Gitblit v1.9.1