视图初始化后的角度集变量



情况:目前我的网站上有两个选项卡,都包含一个文本。文本具有固定的高度,并且不会显示内容溢出(溢出:隐藏(。

问题:如果文本溢出,我想添加三个点(图标(。为了检测是否发生溢出,我使用下面的表达式,它非常有效,并在发生溢出时添加expandButton。

isOverflown: boolean;
hasExpandButton: boolean;
[...]
const overflown = this.isOverflown() ? this.hasExpandButton = true : this.hasExpandButton = false;

问题是,我不知道应该在哪里检查我的内容是否溢出,因为我在两个不同的位置(此处:选项卡(使用此语句。

如果我选择ngAfterViewInit,如果我的内容在第一个选项卡上溢出,则const overflow将设置为true。但在第二个选项卡上不会(如果内容也溢出(。原因是视图只在第一个选项卡上呈现,而在第二个选项卡上没有。因此,如果我切换到第二个标签,ngAfterViewInit将不会触发。

我也尝试过使用其他的生命周期挂钩,但没有一个对我有效

我可能考虑过ngAfterContentInit,并使用一个变量来检测是否第一次调用ngAfterContent Init,但这对我来说也不起作用。

提前谢谢。

解决方案我禁用了该组件的延迟加载,从而解决了问题。

您可以在视图inits(ngAfterViewInit(AND之后检查它,当用户切换选项卡时-add(click(="checkOverflow(("到html中的选项卡标记。

尝试使用CSS:解决此问题

.txt-overflow {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}

这样你就可以去掉额外的组件逻辑

最新更新