【发布时间】:2018-08-27 14:51:37
【问题描述】:
我有一个简单的布尔变量来显示/隐藏一个 div,当我从另一个组件调用该方法将变量设置为 true 时,ngIf 无法识别它。
我的消息-refresh.component.html:
<div class="divOpacity" *ngIf="show">
<div class="boxMessageModal">
<p>Novos dados foram encontrados para esta página, clique em Ok para atualizar!</p>
<button class="btnOktoReload" (click)="reloadPage()">Ok</button>
</div>
我的消息-refresh.component.ts
import { Component, OnInit } from '@angular/core';
import { Location } from '@angular/common';
@Component({
selector: 'app-messages-refresh',
templateUrl: './messages-refresh.component.html',
styleUrls: ['./messages-refresh.component.css']
})
export class MessagesRefreshComponent implements OnInit {
constructor(private location:Location) { }
reloadPage(){
location.reload(true)
}
show:boolean = false
showDivOpacity(){
this.show = true
}
ngOnInit() {
}
}
我将另一个组件中的方法 showDivOpacity 称为this.messagesRefreshComponent.showDivOpacity()
【问题讨论】:
-
显示实际通话。也许它是在区域之外制造的
-
@Diego 在您的第二个组件中,您可以在控制台中添加一些 .log() 语句来在函数调用中打印 show 变量的值并发布其结果吗?
-
我很简单地注入 MessagesRefreshComponent 并调用 this.messagesRefreshComponent.showDivOpacity()
-
@Vaibhav,变量在控制台中显示为 true,但 ngIf 不显示 div
-
我在第二个组件中调用 this.messagesRefreshComponent.show = true 但有同样的问题
标签: angular typescript