Angular ngClass:动态应用类

时间:2018-12-07 09:05:51

标签: angular typescript sass dynamic-class

我无法动态设置课程。请引导我。谢谢。

我在SCSS文件中有一个类,如下所示:

.form-validation.invalid {
    border: 2px solid red
}

我的ts文件有一个变量名isEmailValid,当此变量为false时,边框应该没有出现。我的代码如下:

HTML:

<input type="email" class="form-validation" [ngClass]="{'invalid': isEmailValid}"

TS:

//make service call and decide whether email is valid or not
if(value){            //value is the service response
    this.isEmailValid = true;
} else {
    this.isEmailValid = false;
}

在上面的代码之后,该类不再适用。我要去哪里错了?请指导。

2 个答案:

答案 0 :(得分:0)

您忘记了将 const now = new Date(); let updateParams = { TableName: process.env.TABLE_RESULTS, Key: { QuizId: '' + quiz_id, SessionId: '' + session_key, }, UpdateExpression: `SET #QQ_ID = :answer, #updatedAt = :updatedAt`, ExpressionAttributeNames: { '#QQ_ID' : `QQ_${question_id}`, '#updatedAt': 'UpdatedAt', }, ExpressionAttributeValues: { ':answer': answer, ':updatedAt' : now.toISOString(), } }; let result = await doc.update(updateParams).promise(); 放在CSS中的.中。休息看起来很好。

css

更改

form-validation

form-validation.invalid {
    border: 2px solid red
}

ts

//拨打服务电话并确定电子邮件是否有效

.form-validation.invalid {
    border: 2px solid red
}

工作示例在这里-https://stackblitz.com/edit/angular-ejvaau

答案 1 :(得分:0)

在两种情况下,您都将设置值true。这是一个错误。

if(value){            //value is the service response
    this.isEmailValid = true;
} else {
    this.isEmailValid = true;
}