Angular 关闭警报后再次出现
Angular make alert apear again after dismissing it
我正在做一些 Angular 项目,我在其中将对象添加到 table,但并非所有对象的字段都有效我正在向用户显示警报。我有以下问题:及时解除警报后,他们不会回来......
html:
中的代码
<span *ngIf="errorMessage!=null && errorMessage!=''" name="errorSpan" class="alert alert-warning alert-dismissible msg" role="alert">
<strong>{{errorMessage}}</strong>
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span></button>
</span>
在 TS 中:
errorMessage:string;
isWorkerValid():boolean{
this.errorMessage="";
if(this.workerInserted.id==null || this.workerInserted.id=="" || this.workerInserted.id.length<9 || this.workerInserted.id.length>9){
this.errorMessage+="מספר הזהות של העובד אינו תקין"+"\n";
}
if(this.workerInserted.name==null || this.workerInserted.name==""){
this.errorMessage+="שם העובד אינו תקין"+"\n";
}
if(this.errorMessage!=""){
return false;
}
return true;
}
我尝试使用 ng-show
- 对我根本不起作用! - 和 dang-click="errorMessage=''"
,等等 ng-click="errorMessage=''"
我不能在我的 Angular 中使用 javascript,或者我认为是这样。所以我不能使用 $scope.hideAlert()=function(){ $scope.serverError = false; }
之类的东西
正如我在此处的一些回答中看到的那样。
尽管如此,在解除警报一次后,它不会在我第二次要求时返回。
谁能帮帮我???
Angular
2+中没有ng-show
ng-click
。 ng-show
现在是 [hidden]
而 ng-click
是 (click)
但这超出了重点。
它不再出现的原因是我敢打赌,当您单击 close
按钮时,bootstrap-4
会从 DOM/HTML 中永久删除 span
。
尝试将其包裹在外面ng-container
。
<ng-container *ngIf="errorMessage">
<span name="errorSpan"
class="alert alert-warning alert-dismissible msg" role="alert">
<strong>{{errorMessage}}</strong>
<button type="button" class="close" data-dismiss="alert" aria-label="Close"
(click)="onDismissError()"
>
<span aria-hidden="true">×</span></button>
</span>
</ng-container>
....
onDismissError() {
this.errorMessage = undefined;
}
这样,每次 errorMessage
值更改时,ng-container
内部的内容都应该重新绘制。
我正在做一些 Angular 项目,我在其中将对象添加到 table,但并非所有对象的字段都有效我正在向用户显示警报。我有以下问题:及时解除警报后,他们不会回来...... html:
中的代码<span *ngIf="errorMessage!=null && errorMessage!=''" name="errorSpan" class="alert alert-warning alert-dismissible msg" role="alert">
<strong>{{errorMessage}}</strong>
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span></button>
</span>
在 TS 中:
errorMessage:string;
isWorkerValid():boolean{
this.errorMessage="";
if(this.workerInserted.id==null || this.workerInserted.id=="" || this.workerInserted.id.length<9 || this.workerInserted.id.length>9){
this.errorMessage+="מספר הזהות של העובד אינו תקין"+"\n";
}
if(this.workerInserted.name==null || this.workerInserted.name==""){
this.errorMessage+="שם העובד אינו תקין"+"\n";
}
if(this.errorMessage!=""){
return false;
}
return true;
}
我尝试使用 ng-show
- 对我根本不起作用! - 和 dang-click="errorMessage=''"
,等等 ng-click="errorMessage=''"
我不能在我的 Angular 中使用 javascript,或者我认为是这样。所以我不能使用 $scope.hideAlert()=function(){ $scope.serverError = false; }
正如我在此处的一些回答中看到的那样。 尽管如此,在解除警报一次后,它不会在我第二次要求时返回。 谁能帮帮我???
Angular
2+中没有ng-show
ng-click
。 ng-show
现在是 [hidden]
而 ng-click
是 (click)
但这超出了重点。
它不再出现的原因是我敢打赌,当您单击 close
按钮时,bootstrap-4
会从 DOM/HTML 中永久删除 span
。
尝试将其包裹在外面ng-container
。
<ng-container *ngIf="errorMessage">
<span name="errorSpan"
class="alert alert-warning alert-dismissible msg" role="alert">
<strong>{{errorMessage}}</strong>
<button type="button" class="close" data-dismiss="alert" aria-label="Close"
(click)="onDismissError()"
>
<span aria-hidden="true">×</span></button>
</span>
</ng-container>
....
onDismissError() {
this.errorMessage = undefined;
}
这样,每次 errorMessage
值更改时,ng-container
内部的内容都应该重新绘制。