我正在运行ionic 4应用程序
我创建了一个消息组件,该组件相应地加载了传递@Input给它的错误。
<control-messages [control]="saveUserForm.get('age')"></control-messages>
Run Code Online (Sandbox Code Playgroud)
因此它将加载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;
}
}
Run Code Online (Sandbox Code Playgroud)
我如何通过父级发送另一个参数以将其加载到模板中{{color}},如
template: `<p class="help {{color}}" *ngIf="errorMessage !== null">{{errorMessage}}</p>`
Run Code Online (Sandbox Code Playgroud)
您可以根据需要设置任意多个输入:
父html:
<control-messages
[control]="saveUserForm.get('age')"
color="success">
</control-messages>
Run Code Online (Sandbox Code Playgroud)
儿童ts:
export class ControlMessagesComponent {
@Input() control: FormControl;
@Input() color: string;
Run Code Online (Sandbox Code Playgroud)
子html:
template: `<p class="help {{color}}" *ngIf="errorMessage !== null">{{errorMessage}}</p>`
Run Code Online (Sandbox Code Playgroud)
但是,如果您success | warn | danger从formControl 中检查,则无需从父级发送它。
| 归档时间: |
|
| 查看次数: |
47 次 |
| 最近记录: |