Angular 尽管显示 "ng-reflect-id",但 DOM 中缺少 id 属性
Angular missing id attribute in DOM despite displaying "ng-reflect-id"
什么会导致 Angular 不将 id
属性添加到我在 DOM 中的组件。
TS:
export class InputComponent extends BaseComponent {
@Input() public id: string = '';
...
}
HTML :
<lib-input
id="{{ vo.id }}-username"
label="Username"
i18n-label
[control]="vo.loginForm.username"
[autofocus]="true"
></lib-input>
DOM :
<lib-input label="Username"
ng-reflect-label="Username"
ng-reflect-id="lib-ui-login-username"
ng-reflect-control="[object Object]"
ng-reflect-autofocus="true">
字符串插值错误。如果没有 {{...}}
,id
将按预期出现在 DOM。
我很失望 Angular 没有处理它。
编辑:实际上 HostBinding
是一个很好的解决方法。
export class MyInput {
@Input()
@HostBinding('attr.id')
id: string;
}
什么会导致 Angular 不将 id
属性添加到我在 DOM 中的组件。
TS:
export class InputComponent extends BaseComponent {
@Input() public id: string = '';
...
}
HTML :
<lib-input
id="{{ vo.id }}-username"
label="Username"
i18n-label
[control]="vo.loginForm.username"
[autofocus]="true"
></lib-input>
DOM :
<lib-input label="Username"
ng-reflect-label="Username"
ng-reflect-id="lib-ui-login-username"
ng-reflect-control="[object Object]"
ng-reflect-autofocus="true">
字符串插值错误。如果没有 {{...}}
,id
将按预期出现在 DOM。
我很失望 Angular 没有处理它。
编辑:实际上 HostBinding
是一个很好的解决方法。
export class MyInput {
@Input()
@HostBinding('attr.id')
id: string;
}