带声明的Angular Elements Web组件

时间:2019-01-18 11:36:34

标签: javascript angular element web-component declare

我使用角度元素从角度组件中创建了一个Web组件。现在,我希望该Web组件的用户能够更改Web组件的行为。 为此,我想在角度组件中声明一个变量,然后用户最终可以设置该变量:

declare let userMethod

export class MyComponentimplements OnInit{

  ngOnInit() {
    console.log('user method', userMethod)
    if (userMethod) {
      userMethod()
    } else {
      console.log('userMethod not defined')
    }
  }
}

如果此Web组件的用户创建了一个名为userMethod的函数,则它就像一种魅力:

<script>
    function userMethod() {
        console.log('hello by user');
    }
</script>

但是,如果用户未声明此功能,则Web组件会开始出现很多错误,例如根本不会打印onInit方法的控制台日志。

有人有什么主意,是什么原因导致此错误,还是有变通办法来仍然为用户提供改变这种行为的机会?

干杯,西蒙

0 个答案:

没有答案