Angular 获取输入类型并将其转换为角度
我正在将Angular 获取输入类型并将其转换为角度,angular,Angular,我正在将@Input()元素变量传递给app子组件组件 <app-child [element]="element"></app-child> 首先,如果只允许使用红色、蓝色和绿色值,那么将元素声明为这样可能会更清楚: @Input() element: Red | Blue | Green; 如何确定类型取决于红色、蓝色或绿色的类型。如果它们是类,则可以使用trustyinstanceof运算符: if (this.element instanceof Red) {
@Input()元素
变量传递给app子组件
组件
<app-child [element]="element"></app-child>
首先,如果只允许使用红色、蓝色和绿色值,那么将元素声明为这样可能会更清楚:
@Input() element: Red | Blue | Green;
如何确定类型取决于红色、蓝色或绿色的类型。如果它们是类,则可以使用trustyinstanceof
运算符:
if (this.element instanceof Red) {
const red: Red = this.element; // no cast necessary in if-block
}
如果它们是接口,那就不起作用了,因为typescript接口在JavaScript的转换中无法生存。你认为:
if((this.element).reddishMember){
const red=this.element;
}
首先,如果只允许使用红色、蓝色和绿色值,那么将元素声明为:
@Input() element: Red | Blue | Green;
如何确定类型取决于红色、蓝色或绿色的类型。如果它们是类,则可以使用trustyinstanceof
运算符:
if (this.element instanceof Red) {
const red: Red = this.element; // no cast necessary in if-block
}
如果它们是接口,那就不起作用了,因为typescript接口在JavaScript的转换中无法生存。你认为:
if((this.element).reddishMember){
const red=this.element;
}
你是什么意思?你能不能对你要解决的问题给出一个不那么抽象的说明?我添加了一个ChildComponent.ts代码。这并没有演示任何强制转换。关于确定类型,您是否阅读过例如?如果它可以是蓝色
、红色
或绿色
为什么要将其键入任意
?你最好不要使用TS。如果它可以是蓝色、红色或绿色,那么应该键入什么?看到问题了吗?“联合”类型,是的;我建议你多读一读那一页。你是什么意思?你能不能对你要解决的问题给出一个不那么抽象的说明?我添加了一个ChildComponent.ts代码。这并没有演示任何强制转换。关于确定类型,您是否阅读过例如?如果它可以是蓝色
、红色
或绿色
为什么要将其键入任意
?你最好不要使用TS。如果它可以是蓝色、红色或绿色,那么应该键入什么?看到问题了吗?“联合”类型,是的;我建议你多读那一页。