适用于Aura开发人员的Lightning Web Components

适用于Aura开发人员的Lightning Web Components – 了解闪电Web组件如何与Aura组件一起使用

学习目标

完成本单元后,您将能够:

  • 列出Lightning Web组件的优点。
  • 描述Aura组件和Lightning Web组件如何协同工作。
  • 确定何时迁移组件。

一种新的编程模型

您现在可以在两种编程模型中开发Lightning组件:原始模型(Aura组件)和新模型(Lightning Web组件)。就在您掌握了Aura组件的开发之后,我们就提供了Lightning Web组件!为什么,哦为什么,你问?好吧,我们创建了Lightning Web Components模型来与几年前建立原始Aura模型时不存在的Web标准保持一致。

注意

您是否注意到最后一段中的大写字母不同?如果是这样,您有敏锐的眼睛。当我们引用Lightning Web Components编程模型时,所有单词都大写。仅当我们将组件本身称为Lightning Web组件时,才大写第一个单词。

同样,您一直在使用的编程模型现在称为Aura Components编程模型,您可以创建Aura组件。

为了说明这一点,您在Lightning Web Components编程模型中创建了Lightning Web组件。在“ Aura组件”编程模型中,创建Aura组件。

本模块的目的是帮助您利用Aura组件的技能来加快对Lightning Web组件的了解。您将了解两种类型的组件如何在同一个应用程序中协同工作。

什么是闪电Web组件?

Lightning Web Components是W3C的Web Components标准的实现。它支持Web组件在浏览器中运行良好的部分,并且仅添加在Salesforce支持的所有浏览器中工作所需的内容。

闪电Web组件的好处是什么?

现代JavaScript
在过去的几年中,具有ES6 +和Web标准的JavaScript语言(例如HTML模板,自定义元素和Web组件)已经有了很大的发展。Lightning Web Components为Lightning Component框架带来了现代的JavaScript和Web标准。
开发人员的生产力和满意度
学习如何更快地构建Lightning Web组件,因为您正在使用标准的JavaScript,HTML和CSS。有专有组件和API,可以更轻松地使用Salesforce,但是您可以通过标准方式访问和使用这些专有组件。
使用Lightning Web组件编写更少的代码,并且这些代码更易于阅读,维护和单元测试。
通过转到您喜欢的搜索引擎,可以更轻松地找到您的开发问题的答案。使用Web标准可以加快开发和调试时间。
使用您喜欢的开发工具,因为Lightning Web组件使用标准的JavaScript并可以与您选择的工具很好地配合使用。
代码性能
使用Web标准可以提高性能,因为更多功能是由浏览器而不是JavaScript框架本地执行的。根据使用情况的不同,这种改进可能会有所不同,但是我们相信您会为组件的更快的渲染时间感到惊喜。

先决条件

在深入学习此模块之前,请完成Lightning Web Components基础知识模块,该模块为您提供了对新编程模型的出色介绍。

我们假设您熟悉Aura Components编程模型,除了与Lightning Web Components编程模型相比,我们不会解释其功能。如果您不熟悉Aura组件,请从“ Aura组件基础知识”模块开始。

您还需要了解现代JavaScript开发和ES6 JavaScript功能。如果这些术语令人困惑,则可以在Modern JavaScript Development模块中了解它们。该模块涵盖了开发Lightning Web组件所需的所有JavaScript技能。

带扣旅行

学习任何新的编程模型或语言都是一段旅程。当您运行一些新代码时,就像在开阔的道路上驾驶敞篷车时的快感。然后,您更改一行代码,然后得到一个错误。您猛踩刹车,但遇到交通拥堵,拼命寻找下一个出口。记住,这是一个旅程。错误只是暂时的减速,您最终会到达目的地……希望在晚餐时间之前。

我们希望该模块为您的Lightning Web组件之旅做好准备。可以将模块视为打包旅行的行李箱。我们会逐步引导您完成冒险所需的一切。当您到达目的地时,我们不希望您打开行李箱并意识到您忘了打包内衣了!

组件生活在一起

让我们开始看看如何将组件组合在一起。您可以在另一个组件的主体内添加组件。这种组件组成使您可以从更简单的构建块组件中构建复杂的组件。组件组成的概念对于Aura组件和Lightning Web组件都是至关重要的。

我们知道您可能在开发Aura组件上投入了大量时间和精力。因此,我们投入了时间,使您能够在同一应用程序中组合Aura组件和Lightning Web组件。例如,您可以编写一个新的Lightning Web组件并将其添加到包含Aura组件的应用程序中。

除了将Aura组件和Lightning Web组件组合在一起之外,这两种类型的组件还可以与事件进行通信。这是一种健康的共存。

像任何关系一样,有一些规则可以确保所组成的组件一起良好地工作。

重要

允许的Aura组件 可以包含Lightning Web组件。

不允许 闪电Web组件不能包含Aura组件。

如果您要构建一个Lightning Web组件,并且其主体中还需要其他子组件,则这些子组件也必须作为Lightning Web组件构建。请记住,Lightning Web组件不能包含Aura组件。

如果Lightning Web组件是嵌套组件树中最外面的组件,则任何嵌套组件都不能是Aura组件。

两种编程模型一起工作的优点之一是,您可以决定将一个Aura组件迁移到Lightning Web组件,然后您的应用程序继续运行。即使您决定将Lightning Web组件用于新组件,您仍然可以利用对Aura组件的任何现有投资。

另外,您可以在ES6模块中编写新代码,并从Lightning Web组件和Aura组件访问该代码。这种模式为Aura开发人员打开了现代JavaScript开发的大门。

迁移策略

迁移代码很少是一条直线路。Lightning Web Components的编程模型与Aura Components的模型根本不同。将Aura组件迁移到Lightning Web组件不是逐行转换,这是重新访问组件设计的好机会。在迁移Aura组件之前,请评估该组件的属性,接口,结构,模式和数据流。

最容易迁移的组件是仅呈现UI的简单组件。性能至关重要的Aura组件很适合迁移到Lightning Web组件。

通过迁移更大的组件树(组件内的组件)而不是单个组件,可以在性能和开发人员生产率上获得更多收益。但是,迁移一个组件并查看Aura编程模型中的概念如何映射到Lightning Web Components编程模型中的概念是非常有用的学习经验。

迁移一个组件之后,您将可以更好地确定对您和您的组织是否有意义:

  • 进行更大的迁移工作。
  • 仅将Lightning Web组件用于新组件。
  • 暂时使用Aura组件。

选择权取决于您,每个人的选择都不同,具体取决于用例和可用资源。无论您做出什么决定,迁移组件都是一项有价值的学习活动。

你可能也会喜欢...