这是在Angular中,我想使用变量来更改我的条件语句,这样我就不需要修改每个变量并再次键入这是输入标记HTML中的代码。
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
.
public form: FormGroup;
private formBuilder: FormBuilder
.
get f() { return this.form.controls; }
.
this.form = this.formBuilder.group({
id: ['00000000-0000-0000-0000-000000000000'],
name: ['', Validators.required],
email: ['', [Validators.required, Validators.pattern("^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$")]],
oraganize: ['', Validators.required],
});
.
<input
...
[ngClass]="{'is-invalid': f.name.invalid && (f.name.dirty || f.name.touched)}"
>
所以每次有新的输入,如姓名、电子邮件、oraganize等,我的代码都会改变
我想建立一个函数,我可以传递一些字符串,让它超级好,不修改所有的时间与长线。
public checkCondition(attribute: string): boolean{
return (`this.f.${attribute}.invalid && (this.f.${attribute}.dirty || this.f.${attribute}.touched)`);
}
所以我可以用作...
<input
...
[ngClass]="{'is-invalid': checkCondition("name")}"
>
拜托,我能不能这样做?或者它只对字符串有效,而不是对条件有效?
看起来你离得很近。这应该行得通。
public checkCondition(key: string): boolean{
return this.f[key].invalid && (this.f[key].dirty || this.f[key].touched);
}
或者你可以进一步简化它
public checkCondition(key: string): boolean{
return {
'is-invalid': this.f[key].invalid && (this.f[key].dirty || this.f[key].touched)
};
}
而你html
<input [ngClass]="checkCondition('name')" />
这是它在一起的样子
import { Component } from '@angular/core';
import { FormBuilder, Validators } from '@angular/forms';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css'],
})
export class AppComponent {
form = this.formBuilder.group({
id: ['00000000-0000-0000-0000-000000000000'],
name: ['', Validators.required],
email: ['', [Validators.required, Validators.pattern("^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$")]],
oraganize: ['', Validators.required],
});
constructor(private formBuilder: FormBuilder) {}
checkCondition(key: string) {
const control = this.form.get(key);
if (!control) {
return;
}
return {
'is-invalid': control.invalid && (control.dirty || control.touched)
};
}
}
<form [formGroup]="form">
<input formControlName="id" [ngClass]="checkCondition('id')" />
<input formControlName="name" [ngClass]="checkCondition('name')" />
<input formControlName="email" [ngClass]="checkCondition('email')" />
<input formControlName="oraganize" [ngClass]="checkCondition('oraganize')" />
</form>
这是一场有效的闪电战
https://stackblitz.com/edit/angular-ivy-cvwmis?file=src/app/app.component.html
是否可以在if语句中放一个runnable,因为我需要它,如果玩家下面有一个凿砂岩,那么它应该在5秒后取出块,是可以这样做还是需要另一种方式?Intellij创意,java插件Minecraft。代码:
问题内容: 我想将JavaScript变量添加到php echo中 谢谢 问题答案: 你不能 PHP在服务器上运行,并输出一些文本。 文本发送到浏览器 浏览器将文本解释为HTML / JavaScript / etc 在执行JavaScript时,PHP已完成运行。 如果要传回数据,则需要发出 新的 HTTP请求并从头开始运行PHP脚本。
问题内容: 是否可以将变量放入字符串资源中?如果是的话-我该如何使用它们。 我需要的是以下内容: 并用int代替%X。 问题答案: 从这里取的例子
问题内容: 因此,我试图创建一个“动态”文档字符串,如下所示: 基本上让文档字符串显示所有内容;因此,当更新此变量时,文档字符串将自动更新。 不幸的是,它似乎不起作用。有谁知道有没有办法实现这一目标? 问题答案: 三引号字符串是一个大字符串。它们内部没有任何评估。该部分是字符串的所有部分。您需要使它在实际的字符串上运行。 ~~~~ 我不确定这是否可以正常工作;docstrings有点神奇。这将 不
我使用java PreparedStatment对象来构造一系列批处理的插入查询。查询语句的格式为。。。 ...所以字段值和表名都是变量(即。我有多个具有相同列格式的表,每个插入都将定向到不同的表)。如果我删除“?”tablename变量和硬代码,我可以让执行程序正常工作,但每个准备好的语句都将插入到不同的表中,因此需要保留一个我在使用...执行批处理查询之前立即填充的变量... 我怎样才能让它成