angular - Angular 7 - 动态添加指令
问题描述
<input {{field.validatorDirective}}
class="form-control"
[ngClass]="{ 'border-danger': hasErrors }"
(keyup)="callback()"
[formControlName]="field.key"
[id]="field.key"
[type]="field.type"
[placeholder]="field.placeholder"
[value]="field.value">
field
具有所需的所有内容,但我想动态添加要使用的指令名称。
它目前被添加string
为field.validatorDirective
这有错误
TextComponent.html:2 错误 DOM 异常:无法在“元素”上执行“setAttribute”:“{{field.validatorDirective}}”不是有效的属性名称。
我的指令有选择器usernameValidator
解决方案
看来你不能这样做。我确实尝试过,[attr.directiveSelector]="condition"
但也没有。
一种解决方法(如果您对其中一个感兴趣)将有两个输入,*ngIf
两者都有。像这样的东西:
<input directive1
*ngIf="condition1"
class="form-control"
[ngClass]="{ 'border-danger': hasErrors }"
(keyup)="callback()"
[formControlName]="field.key"
[id]="field.key"
[type]="field.type"
[placeholder]="field.placeholder"
[value]="field.value">
<input directive2
*ngIf="condition2"
class="form-control"
[ngClass]="{ 'border-danger': hasErrors }"
(keyup)="callback()"
[formControlName]="field.key"
[id]="field.key"
[type]="field.type"
[placeholder]="field.placeholder"
[value]="field.value">
推荐阅读
- linux - 递归生成 md5 校验和并将其打印到带有 md5 、路径和文件大小的文本文件中
- javascript - 替换页面内容时出现Jquery TypeError
- php - 为什么 geoplugin api 在在线服务器上不起作用?
- performance - 复杂的 Primefaces 数据表在客户端加载缓慢
- r - 为什么 na.rm=TRUE 不适用于 R 中的加权 SD?
- ios - 解码从前端 IOS 应用程序获取的访问令牌以使用 Okta 和 Node JS 获取用户信息
- sql - Convert date column to new UTC date column
- ios - Access to the coordinates from an address swift
- python - python从请求中获取url
- c# - 在调用 Start 之前向 ServiceStack 的 ServerEventsClient 注册 displayName