gpt4 book ai didi

angular - 使用多个 @input() 装饰器 - ionic 4

转载 作者:行者123 更新时间:2023-12-05 08:39:51 25 4
gpt4 key购买 nike

我正在运行一个 ionic 4 应用程序

我创建了一个消息组件,它根据作为 @Input 传递的错误进行加载

<control-messages [control]="saveUserForm.get('age')"></control-messages>

所以它加载了FormControl验证并显示我在其服务中定义的自定义消息;

我想知道的是,如果有某种方法可以向组件发送多个属性,我想动态装饰 <p class='help'></p>success | warn | danger

这是组件:

  @Component({
selector: 'control-messages',
template: `<p class="help" *ngIf="errorMessage !== null">{{errorMessage}}</p>`
})
export class ControlMessagesComponent {
@Input() control: FormControl;

constructor() { }

get errorMessage() {
for (const propertyName in this.control.errors) {
if (this.control.errors.hasOwnProperty(propertyName) && this.control.touched) {
return ValidationService.getValidatorErrorMessage(propertyName, this.control.errors[propertyName]);
}
}
return null;
}
}

我如何通过父级发送另一个参数以加载到它的模板中作为 {{color}} , 喜欢

    template: `<p class="help {{color}}" *ngIf="errorMessage !== null">{{errorMessage}}</p>`

最佳答案

您可以根据需要设置任意多个输入:

父级 html:

<control-messages 
[control]="saveUserForm.get('age')"
color="success">
</control-messages>

child :

export class ControlMessagesComponent {
@Input() control: FormControl;
@Input() color: string;

子 html:

template: `<p class="help {{color}}" *ngIf="errorMessage !== null">{{errorMessage}}</p>`

但是如果你正在检查成功 |警告 | danger 来自您的 formControl,无需从父级发送它。

关于angular - 使用多个 @input() 装饰器 - ionic 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58733090/

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