使用@Input装饰器设置类型,并添加ngOnChanges生命周期钩子来检查类型是否正确。
示例代码:
import { Component, Input, OnChanges, SimpleChanges } from '@angular/core';
@Component({
selector: 'app-example',
template: `
{{myString}}
`
})
export class ExampleComponent implements OnChanges {
@Input() myString: string;
ngOnChanges(changes: SimpleChanges) {
if (changes.myString && typeof changes.myString.currentValue !== 'string') {
throw new TypeError('myString must be a string');
}
}
}
在上面的示例中,我们使用@Input装饰器设置myString属性的类型为字符串。然后,在ngOnChanges生命周期钩子中,我们检查myString属性的当前值是否为字符串。如果不是,我们抛出一个类型错误。这确保了myString属性始终是字符串,以便在组件中使用时不会出现问题。