升级到 agular-split 18 之后发现下面的代码编译失败,getVisibleAreaSizes
方法存在
const [leftAreaSize] = this.splitComp.getVisibleAreaSizes();
if (leftAreaSize === SidebarWidthStorage.defaultValue) return;
通过 github 上的 pr feat: modernize angular split 知道了 getVisibleAreaSizes
在 missing features 中
请问如何中 agular-split 18 如何自己实现 getVisibleAreaSizes
?
通过 angular-split 17.2.0 的源代码 split.component.ts#L401 知道了 getVisibleAreaSizes 的实现很简单
getVisibleAreaSizes(): IOutputAreaSizes {
return this.displayedAreas.map((a) => a.size)
}
参考 angular-split 18 的 visibleAreas 实现 split.component.ts#L118
private readonly visibleAreas = computed(() => this._areas().filter((area) => area.visible()))
解决了,实现代码如下
const visibleAreas = computed(() => this.splitComp._areas().filter((area) => area.visible()));
const [leftAreaSize] = visibleAreas().map(a => a.size());
if (leftAreaSize === SidebarWidthStorage.defaultValue) return;