快速入门:探索Lightning Web Components OSS食谱示例应用程序 – 了解Lightning Web Components OSS食谱示例应用程序

了解Lightning Web Components OSS食谱示例应用程序

使用食谱样本应用程序

现在已经部署了该应用程序,让我们深入研究它的工作原理。

应用程序中的每个磁贴都是一个食谱,该食谱向您展示如何用30行或更少的代码行为特定任务编码。左侧的菜单项代表配方组。例如,“ Hello”菜单的配方显示了基本的框架功能,而“ Misc”菜单的配方显示了如何进行REST API调用或在不同组件之间共享JavaScript代码。

您可以通过两种方式访问​​配方的源代码。

  1. 单击查看源链接,直接将您带到GitHub上的源代码。
  2. 使用您选择的集成开发环境(IDE)查看相应的源代码。组件的名称与图块标题相对应。

让我们来看看每组中的一些食谱。

在本地主机上本地运行的LWC OSS Recipes App:3001

你好

“ Hello”菜单中的前几个食谱向您展示了基本的Lightning Web组件结构是什么样的,数据绑定如何工作,以及如何利用标准HTML事件来构建交互式组件。

HelloBinding

HelloBinding配方所示的输入字段的值是如何被绑定到一个JavaScript性能,以及如何改变其值将自动更新UI。打开食谱应用程序

  1. 单击“ Hello”菜单。
  2. 找到HelloBinding卡。
  3. 更新“名称”字段中的文本。
  4. 字段顶部的消息将立即更改以显示更新的名称。

HelloConditonalRendering

可以基于不同的条件(例如用户操作,数据可用性,错误发生等)隐藏或显示组件中的HTML元素。要查看如何有条件地隐藏和显示元素,让我们集中讨论HelloConditonalRendering配方。

  1. 找到HelloConditonalRendering卡。
  2. 选中显示详细信息复选框。
  3. 带有文本“这些就是细节!”的元素。出现。

使用if:trueif:false指令可以实现元素的有条件渲染, 并且将 指令作为属性添加到必须有条件渲染的元素中。该指令使用JavaScript属性的布尔值。每当属性值更改时,模板都会自动重新呈现以显示/隐藏元素。

组成

组件是页面或应用程序的构建块。您也可以将零部件组装在一起以制造其他零部件。

组成基础

要查看实际的成分组成,让我们使用CompositionBasics配方。

  1. 单击合成菜单。
  2. 找到CompositionBasics卡。

该配方组件包括两个子组件。

  • ContactTile组件,以红色突出显示。
  • ViewSource组件,以绿色高亮显示。这会将配方链接到其源代码。

屏幕截图突出显示了CompositionBasics组件中的两个子组件

在LWC HTML模板中,当将组件名称嵌入另一个组件中时,我们遵循kebab大小写表示法。因此,要嵌入配方名称空间的contactTile组件,我们在CompositionBasics的模板中进行编写。<recipe-contact-tile>

这样,您可以组合和重用不同的组件来创建用户界面。

亲子

在构建可重用组件时,通常需要使它们动态化,以便它们的输出和行为可以根据其父组件发送给它们的信息而有所不同。

api属性

要查看实际的父母与孩子之间的交流,让我们集中讨论ApiProperty食谱。

  1. 单击“父母对孩子”菜单。
  2. 找到ApiProperty卡。
  3. 更新百分比字段中的值。
  4. 嵌入式chartBar组件中的进度栏将自动更新。

为了进行父子沟通,子组件通过@api向其添加装饰器来公开公共属性 。然后,父级可以通过将公开属性的值作为HTML属性添加到嵌入式子组件中来设置它们的值。

对于chartBar组件,该percentage属性公开给父对象。

儿童对父母

迟早您需要将数据从子组件传递到其父项或祖父母项。

EventWithData

要查看儿童与父母之间的交流活动,让我们集中讨论EventWithData配方。

  1. 单击“孩子到父母”菜单。
  2. 找到EventWithData卡。
  3. 单击列表中任何联系人的姓名。
  4. 所选联系人的详细信息显示在列表的右侧。

在此配方中,EventWithData(父级)组件包含一个ContactListItem(子级)组件的列表。每个ContactListItem组件均显示化身和联系人姓名作为链接。当用户单击联系人的姓名时,联系人的详细信息显示在联系人列表的右侧。

为了做到这一点,子组件:

  1. handleClick当用户单击链接时触发事件处理程序。
  2. 实例化名为的自定义事件 select
  3. 使用联系人的ID流行自定义事件的detail属性。
  4. 调度(触发)事件。

在父组件内部:

  1. 在HTML文件中,使用onselect子组件上的属性来附加事件处理程序。注意,要侦听事件,组件将使用语法为的HTML属性on<eventtype>
  2. 然后,事件处理程序传递事件中的传入详细信息以显示联系人详细信息。

杂项和第三方库

杂项”菜单项包含一些食谱,这些食谱向您显示如何与多个组件共享JavaScript代码,如何从REST服务获取数据,如何从JavaScript代码访问DOM元素等等。

3rd Party Libs菜单项中的食谱向您展示如何将第三方JavaScript库与Lightning Web组件一起使用。配方使用d3.jschart.js创建丰富的可视化效果并moment.js计算日期/时间值。

还有下一个技巧

希望这些食谱能激发您的想象力,并且您为使用LWC构建功能全面的应用程序而感到兴奋。如果是这样,请转到“使用Lightning Web Components开源构建您的第一个应用程序”项目来创建示例会议管理应用程序。

快速入门:探索Lightning Web Components OSS食谱示例应用程序 – 部署Lightning Web Components OSS食谱示例应用程序

部署Lightning Web Components OSS食谱示例应用程序

学习目标

在此项目中,您将:

  • 了解有关Lightning Web Components开源的信息。
  • 在本地部署“食谱”示例应用程序。

关于这个项目

在此快速入门项目中,您将从Trailhead样本库安装样本应用程序。该应用程序提供了一些示例,您可以使用这些示例来了解Lightning Web Components。它还具有代码,可让您从头开始开发自己的Lightning Web组件。

重要的是要注意,这是唯一完全在Salesforce平台之外运行的示例应用程序。要浏览在Salesforce平台上运行的其他示例应用程序,请查看快速入门:浏览示例应用程序库项目。

关于Lightning Web Components开源

Web标准的创新水平达到了前所未有的高度,令人兴奋。现在,需要框架的许多功能已成为标准配置。您不再需要专有的组件模型,专有的语言扩展,专有的模块等等。

核心堆栈的标准化为新型框架打开了大门:这些框架的主要任务不再是填补核心堆栈中的空白,而是在标准堆栈的顶部提供薄薄的专业服务。适用于大型应用程序开发。这里有一些好处。

  • 通用且可互操作的组件模型。
  • 通用编程模型。
  • 可转让的技能使查找和扩充开发人员变得更加容易。
  • 更好的性能,因为核心功能是在Web引擎中本地实现的,而不是在JavaScript中编写的框架抽象中实现的。

闪电Web组件(LWC)开源是基于Web标准构建的新型轻量级框架的实现。它使用自定义元素,模板,影子DOM,装饰器,模块和ECMAScript 6及更高版本中可用的其他新语言构造。您可以使用此框架并使用喜欢的工具(例如Webpack,TypeScript和Babel)构建应用程序,然后在Heroku,Google或其他任何地方运行它。

关于食谱样本应用程序

食谱应用程序是一组易于理解的代码示例,可帮助您学习Lightning Web Components。大多数示例包含30行以下代码,范围从基本框架功能(Hello World示例)到使您可以与d3.js之类的第三方JavaScript库进行交互的示例。

该应用程序在Node.js上运行,可以部署在本地或您选择的平台上。请按照以下步骤在本地部署应用程序。

安装Git

Git是一个分布式版本控制系统,用于在开发生命周期中跟踪源代码的更改。它提供了各种命令来帮助您通过命令行或基于其之上构建的各种图形用户界面(GUI)来管理这些更改。

  1. 从https://git-scm.com/downloads安装Git 。接受所有默认安装设置。
  2. 确认已安装Git。在终端(macOS)或命令提示符(Windows)中,输入以下命令:
    git
    输出应为git命令列表。

安装Node.js

Node.js是一个JavaScript运行时环境,可在Web浏览器之外执行JavaScript代码。它通常用于创建命令行工具和在服务器上运行JavaScript代码。

  1. 从https://nodejs.org/en/安装Node.js的长期支持(LTS)版本。
  2. 确认已安装Node.js。在终端(macOS)或命令提示符(Windows)中,输入以下命令:
    node -v
    您应该看到v12.16.0或更高版本的输出。

安装程序包管理器

程序包管理器有助于程序包安装,版本管理和依赖性管理。有两种广泛使用的Node.js软件包管理器:npm和yarn。

npm是默认的程序包管理器,并且在安装Node.js时默认安装。

  • 确认已安装npm。在终端(macOS)或命令提示符(Windows)中,输入以下命令:
    npm
    输出应为所有npm命令的列表。

注意

注意

根据您的喜好,您也可以安装和使用纱线。

部署应用

既然已经安装了所有工具,请在终端(macOS)或命令提示符(Windows)中输入以下命令。

  1. 输入以下命令以克隆lwc-recipes-oss存储库。
    git clone https://github.com/trailheadapps/lwc-recipes-oss
    cd lwc-recipes-oss
  2. 输入以下命令以使用npm(或根据需要,使用yarn)安装项目依赖项。
    npm install
  3. 输入以下命令以监视模式启动该应用程序。
    npm run watch
  4. 打开浏览器窗口,然后输入以下URL以访问默认应用程序。
    1. 苹果电脑: http://localhost:3001
    2. 视窗: http://0.0.0.0:3001

您应该看到如下图所示的食谱应用程序。

在本地主机上本地运行的LWC OSS Recipes App:3001

恭喜你!您已成功设置并运行了Lightning Web Components开源示例应用程序。在下一步中,您将仔细查看该应用程序。