学习目标
完成本单元后,您将能够:
- 创建一个SFDX项目。
- 创建一个闪电Web组件。
- 应用架构和编码概念。
在Visualforce中,要执行UI更改,有时您需要在服务器上重新呈现页面。如您所知,在Lightning Web Components架构中,重新渲染发生在客户端上。您学习了如何在JavaScript中设置属性以更改组件状态,从而使Lightning Web Components引擎重新呈现组件。您还学习了如何响应JavaScript中的用户交互。让我们观察一下这些概念。考虑此示例Visualforce页面。
accountSearch.page
AccountSearchController.cls
重置按钮清除输入值,然后页面在服务器上重新呈现。在Lightning Web组件中,您可以单独使用JavaScript进行相同的UI更改,如下所示:
accountSearch.html
accountSearch.js
代码重点:
accountSearch.html
- 第3-8行:我们使用一个
lightning-input
组件来接收用户输入。 - 第6行:我们将
numberOfEmployees
JavaScript属性绑定到lightning-input
组件的value
属性。 - 第7行:我们将
handleChange
方法绑定到lightning-input
组件的change
事件。 - 第9至12行:我们定义了
lightning-button
基本组件。 - 第11行:当用户单击按钮时,Lightning Web Components引擎将调用该
reset
方法。
accountSearch.js
- 第5行:该
handleChange
方法读取lightning-input
组件的change
事件,获取用户输入的值,并将其存储在numberOfEmployees
属性中。 - 第7–9行:
reset
方法清空numberOfEmployees
属性。通常,我们使用handleEventName约定来命名事件处理程序,但是在reset
这里我们用来强调它与Apex控制器reset方法的相似性。
将传递value
给lightning-input
会导致组件重新呈现。与Visualforce实现的区别在于,重新渲染发生在客户端上,从而避免了对服务器的额外调用。
回应用户互动
现在,我们已经探索了Lightning Web Components和您熟悉的Visualforce开发之间的一些区别,让我们来看一个示例。
在你开始之前
Visualforce开发人员非常喜欢在开发人员控制台中工作。但是,Lightning Web Components的编程模型需要另一套称为Salesforce DX(开发人员体验)的开发人员工具。它包括Salesforce命令行界面(CLI)和Visual Studio代码,该代码与Salesforce Extension Pack一起,是在Salesforce平台上开发的推荐代码编辑器。Salesforce DX环境旨在:
- 简化整个开发生命周期
- 促进自动化测试
- 支持持续集成
- 使发布周期更加敏捷和高效
在开始本模块的动手练习和动手挑战之前,请确保您已完成《 快速入门:闪电Web组件》。该徽章的前两个步骤将逐步设置Salesforce DX开发环境。
创建一个新的Trailhead游乐场
对于此项目,您需要创建一个新的Trailhead Playground。滚动到该页面的底部,单击“启动”旁边的向下箭头,然后选择“创建Trailhead游乐场”。创建新的Trailhead游乐场通常需要3-4分钟。
注意:是的,我们的意思是全新的Trailhead游乐场!如果您使用现有的组织或游乐场,则可能会遇到无法完成挑战的问题。
获取您的Trailhead Playground用户名和密码
转到您的Trailhead游乐场。(如果尚未打开,请滚动至该页面的底部,然后单击启动。)如果您在组织中看到一个标签为Get Your Login Credentials的标签,太好了!跳至步骤1。
否则,请从应用启动器()中找到并打开Playground Starter,然后按照以下步骤操作。如果您没有看到Playground Starter应用程序,请在Trailhead帮助中签出 查找Trailhead Playground的用户名和密码。
- 单击获取您的登录凭据选项卡,并记下您的用户名。
- 单击重置我的密码。这会将电子邮件发送到与您的用户名关联的地址。
- 单击电子邮件中的链接。
- 输入新密码,确认,然后单击更改密码。
准备好动手了吗?我们走吧。
在本练习中,您将创建一个Lightning Web组件,以响应用户交互而重新渲染。
-
- 创建一个新项目:
- 打开Visual Studio代码。
- 打开命令面板:单击查看| 命令面板。
- 在命令面板中,选择SFDX:创建项目。(如果您没有在列表中看到它,请键入
SFDX: Create Project
,然后按Enter。) - 接受标准模板。
- 输入项目名称,
lwcForVisualforceDevs
然后按Enter。 - 选择新项目的位置,然后单击“创建项目”。
- 授权您的Trailhead游乐场:
- 在命令选项板中,选择(或输入)SFDX:授权组织。
- 选择生产:login.salesforce.com。
- 对于别名,请输入
lwc_for_vf_devs
,然后按Enter。 - 使用您的Trailhead Playground用户名和密码登录。
- 登录到Trailhead Playground后,将其保持打开状态并返回到Visual Studio Code。
- 在Visual Studio Code中,打开一个终端窗口:单击Terminal |。新航站楼。
- 在终端中,将Trailhead Playground设置为该项目的默认设置:输入此命令,然后按Enter:
- 创建一个新项目:
-
- 创建一个闪电Web组件:
- 在“资源管理器”窗格中,展开“ force-app / main / default”。
- 右键单击lwc文件夹,然后选择SFDX:Create Lightning Web Component。
- 输入组件名称,
accountSearch
然后按Enter键。 - 再次按Enter接受默认目录。
- 用以下代码替换accountSearch.html文件的内容:
- 创建一个闪电Web组件:
-
- 用以下代码替换accountSearch.js文件的内容:
-
- 要使此组件在组织中的应用程序页面上可用,请使用以下代码替换accountCreator.js-meta.xml文件的内容:
- 保存您编辑的三个文件:accountSearch.html,accountSearch.js和accountSearch.js-meta.xml。
- 将项目文件部署到Trailhead Playground:右键单击lwc文件夹,然后选择SFDX:将源部署到Org。
- 如果您的Trailhead Playground尚未打开,请打开它。(在命令选项板中,选择(或输入)SFDX:Open Default Org。)
- 在您的Trailhead游乐场中,点击 ,然后点击设置。
- 在“快速查找”框中,输入
Lightning App Builder
,然后选择Lightning App Builder。 - 创建一个新的闪电页面:
- 点击新建。
- 选择应用程序页面,然后单击下一步。
- 对于标签,输入
LWC Visualforce Devs
,然后单击下一步。 - 对于布局,选择Header和Left Sidebar。
- 点击完成。
- 将accountSearch组件拖动到页面侧栏。
- 保存页面。
- 激活页面:
- 点击激活。
- 保留默认的应用程序名称(LWC Visualforce Devs),然后单击保存。
- 当提示您将页面添加到导航菜单时,点击完成。
- 退出Lightning App Builder。
- 打开新页面:在App Launcher搜索中,输入
lwc
,然后在Items下选择LWC Visualforce Devs。 - 在输入字段中输入一个值,然后单击“重置”按钮。
您实现的JavaScript代码应清除输入字段,并使Lightning Web Components引擎重新呈现该组件。
看那个!您创建了一个Lightning Web组件并将其添加到组织中的页面。现在尝试动手挑战中的另一只手。