我可以强制Angular组件的所有实例都具有属性吗?

时间:2018-06-14 14:48:01

标签: angular

如果我有自定义组件<my-component></my-component>,我是否可以使其始终具有自定义属性?例如,<my-component data-custom-attr></my-component>

1 个答案:

答案 0 :(得分:0)

您可以使用@Input来执行此操作,如果值为ngOnInit则会null触发错误

Component({
    selector: 'my-component',
    template: '<div></div>'
})
export class MyComponent {
    @Input() data-custom-attr:number; // Make this a required attribute. Throw an exception if it doesnt exist
    @Input() data-custom-attr-2:number;

    constructor(){

    }

    ngOnInit() {
      if(null == data-custom-attr) throw new Error("Attribute 'data-custom-attr' is required");
    }
}

src solution