[英]Angular binding ng-if
I am not able to binding properly, it should toggle on click. 我无法正确绑定,应在点击时切换。 ng-reflect-ng-if becomes true and it remains true, again on click it should be false, I tried (clickoutside) also but no luck.
ng-reflect-ng-if如果变为true并保持为true,则再次单击它应该为false,我也尝试过(clickoutside)但没有运气。 Followed this question also from stackoverflow Binding a boolean value using *ngIf
在stackoverflow上也使用* ngIf绑定布尔值也遵循了这个问题
<!--bindings={
"ng-reflect-ng-if": "true"}-->
TS code TS码
showAdditionalGraceInfo: boolean = false;
showAdditionalGraceInfo: boolean = false;
toggleAdditionalGraceInfo() {
this.showAdditionalGraceInfo = !this.showAdditionalGraceInfo;
if(this.showAdditionalGraceInfo === true){
this.showAdditionalGraceInfoWrapper = true;
} else{
this.showAdditionalGraceInfoWrapper = false
}
}
HTML code HTML代码
<span (click)="toggleAdditionalGraceInfo()">
<span *ngIf="showAdditionalGraceInfoWrapper">
{{graceDaysAdditionalInfo}}
</span>
</span>
Try this 尝试这个
Code TS 代码TS
toggleAdditionalGraceInfo() {
if(!this.showAdditionalGraceInfo){
this.showAdditionalGraceInfoWrapper = true;
} else{
this.showAdditionalGraceInfoWrapper = false
}
}
Code HTML 代码HTML
<span (click)="toggleAdditionalGraceInfo()">
<ng-container *ngIf="showAdditionalGraceInfoWrapper">
<span>{{graceDaysAdditionalInfo}}</span>
</ng-container>
</span>
You probably don't need two variables for what you are trying to do. 您可能不需要两个变量来完成您想做的事情。 This is how you can do it if you must use both those variables.
如果必须同时使用这两个变量,这是可以执行的操作。
<span id="test" (click)="showAdditionalGraceInfoWrapper = showAdditonalGraceInfo = !showAdditionalGraceInfoWrapper"> <span *ngIf="showAdditionalGraceInfoWrapper"> {{graceDaysAdditionalInfo}} </span> </span>
showAdditionalGraceInfoWrapper:boolean = true;
showAdditonalGraceInfo:boolean = true;
graceDaysAdditionalInfo: string = "test"
Example: https://stackblitz.com/edit/angular-vlfmur 示例: https : //stackblitz.com/edit/angular-vlfmur
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.