HTML文件:
<div [hidden]="isshow">
<h1>this is a</h1>
</div>
<div [hidden]="!isshow">
<h1>this is b</h1>
</div>
component.ts:
public get isshow() {
return (this._state === 'ready');
}
状态值由EventListener更改,并将从&#34;连接&#34;更改准备好&#34;。
我想要的是展示&#34;这是一个&#34;在开始时然后改为&#34;这是b&#34; 当状态是&#34;准备好&#34;,但看起来它不起作用。 * ngIf也不起作用。 我该怎么办?订阅吗?
如果使用计时器,页面将会更改,例如:
setTimeout(()=>{this._state = 'ready'},30000);
&#13;
但我不想使用Timer。
提前致谢。
答案 0 :(得分:0)
试试这个,代码中有一个小错误。如果isshow是一个函数,那么你应该用括号传递它,如下所述。
<强>模板强>
<div [hidden]="isshow()">
<h1>this is a</h1>
</div>
<div [hidden]="!isshow()">
<h1>this is b</h1>
</div>
<强>组件强>
isshow() {
return (this._state === 'ready');
}
我希望这会对你有所帮助。如果您有任何疑问或建议请告诉我。
答案 1 :(得分:0)
使用*ngIf
切换元素的存在通常会更好。
<div *ngIf="isshow()">
<h1>this is a</h1>
</div>
<div *ngIf="!isshow()">
<h1>this is b</h1>
</div>