私は何かをするメソッドを持つサービスを持っています。
service.ts:
doSomething() {
// Does something here
}
このサービスは、以下のコンポーネントと通信します。
myComponent.ts
私が持っている:divを持つmyComponent.html:
<div class="myDiv">Something Here</div>
私がしたいのは、サービスのdoSomething()メソッドのコードでdivを表示および非表示にすることです。
これと同様:
doSomething() {
1. Show myDiv
2. // Do something here
3. Hide myDiv
}
これどうやってするの?
特に、divを制御するためのフラグ値のセットをdoSomenthing()メソッドに挿入します。
[〜#〜] component [〜#〜]
doSomething() {
service
.doSomething()
.subscribe(
r => {
this.show = true;
2. // Do something here
this.show = false;
}
);
}
<div *ngIf="show" class="myDiv">Something Here</div>
ただし、このコードはサービス内ではなくコンポーネント内にとどまる必要があります。
マークアップにngIf属性を追加します。
*ngIf="IAmDoingSomething"
コンポーネント内では、次のことができます。
export class MyDoSomethingComponent{
public IAmDoingSomething = false;
...
invokeServices = async () => {
this.IAmDoingSomething = true;
await doSomething();
this.IAmDoingSomething = false;
}
...
}