【问题标题】:How can I show a component after execution of a function?执行功能后如何显示组件?
【发布时间】:2019-08-06 12:51:08
【问题描述】:

我有一个服务来调节真/假,这取决于通过*ngIf 显示和隐藏组件!目前,当我单击该按钮时,服务呈现为 true,并且组件随即出现!

我需要它们仅在功能完全执行后出现!那就是我需要页面滚动到顶部,然后只显示组件。

这是我的幻灯片组件,带有一个按钮,点击时告诉 content.service true

onGoToAbout(event) {
    $(event.target.id).toggle();
    $("#slideshow").slideUp(1500);
    this.content.isContentShown = true;
}
<div class="explore-wrapper" (click)="onGoToAbout($event)" routerLink="/about">

当 content.service 为 true 时,会出现 header 组件:

<header class="sticky" *ngIf="header.isContentShown">
    <div class="header-container">
        <div class="header-left">
            <h1>{{pageTitle}}</h1>
        </div>
        <div class="header-right">
            <app-burger></app-burger>
        </div>
    </div>
</header>
<app-nav (sendTitle)="getTitle($event)"></app-nav>

我只需要在页面滚动到顶部之后才显示标题!

【问题讨论】:

  • 监听可见性的变化。如果内容不在视口中,请将服务中的变量设置为 false。

标签: javascript jquery html angular angular-ng-if


【解决方案1】:

试试这个

$('#slideshow').slideUp(1500, function() {
   this.content.isContentShown = true;
});

【讨论】:

  • 必须在函数之前声明'let content = this.content;',但这有效!谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-17
  • 2020-08-17
  • 1970-01-01
相关资源
最近更新 更多