gpt4 book ai didi

angular - 将 @Input() 与 Angular 中定义的列表匹配

转载 作者:搜寻专家 更新时间:2023-10-30 21:50:30 25 4
gpt4 key购买 nike

检查用户输入是否在条目白名单中的最佳做法是什么?

export class myClass {
@Input() type: string;
}

要设置 type 应该只有在定义的列表中才有可能,否则它应该是空的。有 Angular 或 typescript 的通用方法吗?

最佳答案

@Input 使用私有(private)实例字段和 getter/setter 的组合。像这样:

export class myClass {
private validType: string;

@Input()
public set type(value: string) {
if(this.validate(value)) {
this.validType = type;
} else {
this.validType = '';
}
}

public get type() {
return this.validType;
}

private validate(value: string) {
// do your validation here
return true;
}
}

这确保每次输入属性发生变化时,都会检查我的验证方法(我使用 validate 作为此示例的名称)。如果您使用类型属性,您将始终获得经过验证的属性 validType

如果您正在处理表单输入,您应该明确定义自己的 validator 用于此类任务并将其应用于表单字段。

关于angular - 将 @Input() 与 Angular 中定义的列表匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45441116/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com