我使用角度元素从角度组件中创建了一个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方法的控制台日志。
有人有什么主意,是什么原因导致此错误,还是有变通办法来仍然为用户提供改变这种行为的机会?
干杯,西蒙