我试图在成功回调后禁用div标签。请查看我的ion-content。
<ion-content padding class="forgot-password">
<div [ngClass]="{active: isOn,disabled: isDisabled}">
<ion-item>
<ion-label floating>Email/Mobile</ion-label>
<ion-input type="text" [(ngModel)]="loginId"></ion-input>
</ion-item> <br><br>
<button class="float-right" (click)="generateOTP(!isOn);">Send OTP</button><br><br><br>
</div>
<br>
<div *ngIf="showRePasswd">
<ion-item>
<ion-label floating>Enter OTP</ion-label>
<ion-input type="text" [(ngModel)]="passwd"></ion-input>
</ion-item> <br><br>
<button class="float-right" (click)="resetPassword();">Send Password</button>
</div>
</ion-content>
这是我的 .ts 文件
export class ForgotPasswordPage {
public loginId = "";
public passwd = "";
public showRePasswd = false;
isDisabled = false;
isOn = false;
constructor(private navCtrl: NavController, private logger: Logger, private user: Users) {
}
generateOTP(newstate) {
this.logger.info("invoking generateOTP FN");
var _this = this;
this.user.generateOTP(this.loginId, function(result,data){
if(result == '1') {
alert(data);
_this.showRePasswd = !_this.showRePasswd;
_this.isDisabled = true;
_this.isOn = newstate;
}
else {
//this.showRePasswd = this.showRePasswd;
alert(data);
}
})
}
resetPassword() {
this.logger.info("invoking resetPassword FN");
var _this = this;
this.user.resetPassword(this.passwd, function(result,data) {
if(result == '1') {
alert(data);
_this.navCtrl.push(LoginPage);
}
else {
alert(data);
}
})
}
}
我尝试了
[ngClass]
,但无法在成功回调后禁用我的标签。
我还尝试使用[disabled]
,但没有效果。
这里有一个演示来禁用
标签,但在我的情况下不起作用。
我的要求是在成功回调后将输入字段和按钮设置为禁用状态。
div
无法被禁用(这是 HTML 的限制,而不是 Angular2 的限制)。您可以设置disabled
属性并对其应用 CSS,或者在所有实际上可以单独禁用的子元素上设置disabled
。 - Günter Zöchbauer<div>(click)="$event.preventDefault();false"</div>
。 - Günter ZöchbauerpreventDefault
更改为stopPropagation
。请参见 https://dev59.com/NVsW5IYBdhLWcg3wM02F#35274069 - Günter Zöchbauer