显示和隐藏 angular 2

show and hide angular 2

显示布尔元素时出现问题。如果我试图在 html 中设置显示隐藏元素,它的工作方式如下:

<p class="post-more-text" (click)="model.isTextVisible = !model.isTextVisible;">{{model.moreOrLessValue}}</p>

如果我在组件中设置了一个函数,元素就不会隐藏

<p *ngIf="isTextVisible">
    {{model?.morePostText}}
</p>

<p class="post-more-text" (click)="onMoreInfoClick(model)">{{model.moreOrLessValue}}</p>

和组件:

onMoreInfoClick(model) {
    model.isTextVisible = !model.isTextVisible;
}

我做错了什么?

不建议对 Angular2 使用 [隐藏] 属性。最好使用 ngIf 条件。这样:

<p *ngIf="model.isTextVisible">
    {{model?.morePostText}}
</p>

您可以阅读更多内容here


已编辑:另外,我认为您忘记了 isTextVisible 属性的父项。它应该看起来像:*ngIf="model.isTextVisible" ??