functionfindParentComponent (self, componentName) {
let parent = self.$parent;
let name = parent.$options.name;
while (parent && (!name || [componentName].indexOf(name) < 0)) {
parent = parent.$parent;
if (parent) name = parent.$options.name;
}
return parent;
}
2.向上找到所有的指定组件
functionfindParentsComponent (self, componentName) {
let parents = [];
const parent = self.$parent;
if (parent) {
if (parent.$options.name === componentName) parents.push(parent);
return parents.concat(this.findParentsComponent(parent, componentName));
} else {
return [];
}
}
3.向下找到最近的指定组件
functionfindChildrenComponent (self, componentName) {
const childrens = self.$children;
let children = null;
if (childrens.length) {
for (const child of childrens) {
const name = child.$options.name;
if (name === componentName) {
children = child;
break;
} else {
children = this.findChildrenComponent(child, componentName);
if (children) break;
}
}
}
return children;
}
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步