Angular 6 - Angular 元素功能的确切和主要目标是什么?

Angular 6 - what is the exact and main goal of Angular Elements feature?

有趣的 Angular 6 个新功能之一是 Angular Elements,它允许我们将 Angular 组件转换为本机 Web 组件,并且还能够将它们用作 Web 组件无处不在在 React 或 Vue 应用程序中使用它们。

这里的主要问题是:这是否意味着我们可以生成一个 Web 组件,然后在一个完全不同的 App 中使用它,而不是 Angular、React 和 Vue?换句话说:然后我可以使用 Angular Elements 生成一个原生 Web 组件,并在项目构建 with/on HTML5、原生 JavaScript/jQuery、CSS 等中使用它吗?

例如,如果我有一个 Angular 应用程序组件,我想将其生成的代码(设计、功能、样式格式等)用于不同的项目(而不是 Angular 项目)用 bootstrap、jQuery 等构建,这可能吗?

我一直在阅读这个 question 及其答案,但老实说,我不是 100% 确定确切 的目标和目标 Angular Elements 特征,因为它或多或少是关于 Angular Elements

的技术概念的问题

另外一点也很有趣:如果我的 Angular 应用程序使用 Angular Material 怎么办? Material 内容是否也可以在生成的本机网络应用程序中使用,以便它们可以在任何地方使用?

Does this mean that, we can generate a web component and then use it in a totally different App which is not Angular, not React and not Vue? In other words: Can I then generate a native web Component with Angular Elements and use it in a project build with/on HTML5, native JavaScript/jQuery, CSS etc.

回答第一个问题,是的(请参阅下面的警告),这就是元素的确切用途。我发现这个 practical guide 解释了如何制作一个简单的用爱制作的组件,这是一个标准组件,你会在 Angular.

article 结论中的一个重要警告:

Angular Elements of v6 are aimed at using inside Angular applications.

Angular Elements of v7 will be more standalone and embeddable inside any external applications.

还有一个漂亮的 video 展示了如何在您的元素中使用 Firebase 以及如何在普通 HTML 网站中使用它。所以,是的,我认为您的 Angular Material 将在导出的元素中公开。