Angular 6 - 在由服务触发的组件中隐藏或显示 Div
Angular 6 - Hide or Show a Div in component triggered from a Service
我有一个服务,它有一个方法可以做某事。
service.ts:
doSomething() {
// Does something here
}
此服务与以下组件对话:
myComponent.ts
我有:myComponent.html 其中有一个 div:
<div class="myDiv">Something Here</div>
我想要的是通过服务 doSomething() 方法中的代码显示和隐藏 div。
像这样:
doSomething() {
1. Show myDiv
2. // Do something here
3. Hide myDiv
}
我该怎么做?
特别是我在 doSomenthing() 方法中插入了一组用于控制 div 的标志值。
组件
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;
}
...
}
我有一个服务,它有一个方法可以做某事。
service.ts:
doSomething() {
// Does something here
}
此服务与以下组件对话:
myComponent.ts
我有:myComponent.html 其中有一个 div:
<div class="myDiv">Something Here</div>
我想要的是通过服务 doSomething() 方法中的代码显示和隐藏 div。
像这样:
doSomething() {
1. Show myDiv
2. // Do something here
3. Hide myDiv
}
我该怎么做?
特别是我在 doSomenthing() 方法中插入了一组用于控制 div 的标志值。
组件
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;
}
...
}