Angular 6-隐藏或显示由服务触发的Div in组件

Cra*_*018 6 typescript angular angular6

我有一项服务,该服务具有执行某些操作的方法。

service.ts:

doSomething() {
    // Does something here
}
Run Code Online (Sandbox Code Playgroud)

该服务与以下组件进行通讯:

myComponent.ts

我有:myComponent.html,其中有一个div:

<div class="myDiv">Something Here</div>
Run Code Online (Sandbox Code Playgroud)

我想要的是通过服务doSomething()方法中的代码显示和隐藏div。

像这样:

doSomething() {

    1. Show myDiv   
    2. // Do something here
    3. Hide myDiv
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

小智 7

特别是我将一组用于控制div的标志值插入doSomenthing()方法中。

零件

doSomething() {
  service
    .doSomething()
    .subscribe(
       r => {
          this.show = true;   
          2. // Do something here
          this.show = false;  
       }
    );
}

<div *ngIf="show" class="myDiv">Something Here</div>
Run Code Online (Sandbox Code Playgroud)

但是此代码必须保留在组件中,而不在服务中。