【发布时间】:2018-04-24 02:17:50
【问题描述】:
我目前正在使用 Angular 和 TypeScript,我想知道是否可以绑定组件 @Inputs 以使用特定类型?
示例
@Component({selector: 'foobar'})
export class FooComponent {
@Input() foo: number;
@Input() bar: boolean;
}
<foobar foo="123" bar="true"></foobar>
当组件绑定时,foo 和bar 都是string。 Angular 是否提供了强制执行指定类型的方法?
我试过这个,但我不喜欢它......(看起来很脏,不太优雅)
@Component({selector: 'foobar'})
export class FooComponent {
foo: number;
bar: boolean;
@Input('foo') set _foo(value: string) {
this.foo = Number(value);
}
@Input('bar') set _bar(value: string) {
this.bar = value === 'true';
}
}
如果 Angular 的 Input 中有一些东西可以充当绑定委托,那就太好了;例如:
@Input('foo', (value: string) => Number(value)) foo: number = 123;
【问题讨论】:
标签: angular typescript