微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用Angular Elements维护Angular项目的最佳实践

如何解决使用Angular Elements维护Angular项目的最佳实践

我维护Angular项目,这是一种组件库/框架,其组件将被其他项目重用。现在所有项目都是用Angular编写的,但是我团队的组件也必须可用于其他平台(例如React / .NET /纯HTML)。

我们使用Angular Elements将组件导出为Web不可知组件。 在HTML Web组件中,只能将字符串设置为属性,因此当我需要在Angular中提供数组作为输入时,我会这样做:

const dropdownoptions: string[] = ["one","two"];
...
<app-custom-component [dropdownoptions]="dropdownoptions"></app-custom-component>

在Web组件中,我需要像这样传递字符串:

<custom-component dropdown-options='["one","two"]'></custom-component>

所以这在我的组件中

@input() public dropdownoptions: Array<string>;                   //for native Angular
@Input('dropdown-options') public dropdownoptionsstring: string;  //for other platforms

ngOnInit(): void {
  if (this.dropdownoptionsstring) {
    this.dropdownoptions = JSON.parse(this.dropdownoptionsstring);
  }
}

这里的最佳做法是什么?我们考虑过为Angular和Web组件创建一个单独的项目,但是维护两个单独的代码库是有问题的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。