我有一个名为“ input-text”的组件,其中只有html文本框。
<input type="text" />
现在,我在我的app.component.html中使用此组件,但我想将此文本框的类型更改为电子邮件,密码等。
<app-input-text>??</app-input-text>
我该如何实现?
答案 0 :(得分:3)
如果您想使用component
的方式,只需添加@Input() type: string
并在html中使用它
export class InputTextComponent {
@Input() type: string
}
<input [attr.type]="type" />
<app-input-text [type]="inputType"></app-input-text>
where `inputType` is string type for input like `email, password, text...`
答案 1 :(得分:1)
尝试一下:
input.component.ts
import { Component, Input } from "@angular/core";
@Component({
selector: "app-input",
template: `
<input [type]="type" />
`
})
export class InputComponent {
@Input() type: String;
}
app.component.ts
import { Component } from "@angular/core";
@Component({
selector: "app-root",
template: `
<div>
<h2>Stack Overflow</h2>
<app-input type="text"></app-input>
<app-input type="checkbox"></app-input>
<app-input type="radio"></app-input>
</div>
`
})
export class AppComponent {}