最常问的 45+ 个 Salesforce Lightning 面试题及答案2025年3月17日 | 阅读13分钟 1) 什么是 Salesforce Lightning?Salesforce Lightning 是 Salesforce.com 开发的基于组件的框架,用于提供应用程序开发。它旨在简化那些不了解此技术且通常没有编程经验的业务用户的使用。 Salesforce Lightning 包含一套工具和技术,是 Salesforce1 平台(现称为 App Cloud,即该公司的移动应用程序开发平台)的一次重要升级。 2) Salesforce Lightning 最重要的特性是什么?/ Salesforce Lightning 包含哪些最重要的组件?Salesforce Lightning 包含以下重要组件: 体验 (Experience):这是一套针对速度进行了优化的现代用户界面。它包括 Lightning Experience、Salesforce1 移动应用程序和基于模板的社区。 Lightning 组件框架 (Lightning Component Framework):这是一个 JavaScript 框架和一套标准组件,可帮助我们构建可重用组件,以自定义 Lightning Experience、Salesforce1 移动应用程序和基于模板的社区,并构建独立的应用程序。 Lightning Exchange (Lightning Exchange):它指定了 AppExchange 的一个部分,我们可以在其中找到 70 多个合作伙伴组件来开始开发。 Lightning 设计系统 (Lightning Design System):它指定了最佳实践和样式指南以及现代企业 UX 最佳实践,以构建像素完美的应用程序,这些应用程序与 Lightning Experience 和 Salesforce1 移动应用程序的外观和感觉一致。 可视化构建工具 (Visual Building Tools):它指定了拖放技术,可实现快速简便的应用程序构建和自定义。我们可以使用 Lightning App Builder 来自定义 Lightning Experience 和 Salesforce1 移动应用程序。我们还可以使用 Community Builder 来自定义基于模板的社区。 3) 如何开发 Salesforce Lightning 组件?我们可以使用以下两种编程模型来开发 Salesforce Lightning 组件:
4) Salesforce Lightning 是 MVC 框架吗?不是,Salesforce Lightning 不是 MVC 框架。相反,它是一个基于组件的框架。 5) 您对 Lightning Experience 有何理解?Lightning Experience 是最新的 Salesforce 桌面应用程序,具有最新功能。Lightning Experience 是用高级用户界面 (UI) 开发的,并提供闪电般快速的优化速度。 6) Lightning 中包含哪些重要工具?以下是 Lightning 中包含的主要工具列表: Lightning 组件框架 (Lightning Component Framework):该组件和扩展集使我们能够构建可重用组件,自定义 Salesforce1 移动应用程序,并构建独立的应用程序。 Lightning App Builder:这是一个新的 UI 工具,它使我们能够使用 Salesforce 和平台开发人员提供的组件来快速构建应用程序。 Lightning Process Builder:这是一个可视化和创建自动化业务流程的 UI 工具。 Lightning Schema Builder:这同样是一个 UI 工具,用于查看和创建对象、字段和关系。 Lightning Connect:这是一个集成工具,可让 Force.com 应用程序轻松地从符合 OData 规范的任何外部源消费数据。 7) Aura 是什么?aura:namespace 的用途是什么?Aura 是一项开源免费技术,为 Lightning Components 提供支持。aura:namespace 包含定义应用程序和组件的所有基本构建块。 8) 您对 Aura 应用程序包 (Aura application bundle) 有何理解?Aura 应用程序包包含定义及其关联资源。Aura 定义可以定义为应用程序、接口、组件和事件。Aura 定义包元素是一个文件夹,其中包含与其它元数据组件相对的定义文件。另一方面,Aura 定义包组件不是单个文件。相反,它是一组文件。 9) Visualforce 组件和 Lightning 组件之间有什么区别?Visualforce 组件以页面为中心,并在服务器上完成大部分工作。另一方面,Lightning 组件以客户端为中心,使其更具动态性且对移动设备友好。 10) 原生 Aura 组件模型和 Lightning Web Components 模型这两种编程模型如何共存?原生 Aura 组件模型和 Lightning Web Components 模型可以以以下方式共存:
11) Salesforce Lightning 组件有哪些不同类型的事件?以下是 Salesforce Lightning 组件的主要三种不同类型的事件:
12) Lightning 组件有哪些不同的组件包?以下是 Lightning 组件不同组件包的列表:
13) Lightning Data Service 的用途是什么?以下是 Lightning Data Service 的主要用途:
14) 您对 Lightning Design System 有何理解?Lightning Design System 提供样式指南和现代企业 UX 最佳实践,以构建像素完美的应用程序,这些应用程序外观精美,并提供 Lightning Experience 和 Salesforce1 移动应用程序的外观和感觉。 15) Salesforce Lightning 组件中使用了哪些不同的事件?以下是 Salesforce Lightning 组件中使用的不同类型事件: 应用程序事件 (Application Event):应用程序事件的范围在整个 Lightning 应用程序中。当有组件注册了该事件时,它会发送通知。 组件事件 (Component Event):此事件的范围在其自身或该事件的父组件内。它会向父组件中声明的所有组件发送通知。 系统事件 (System Event):此类型事件由 Salesforce 系统在 Lightning 应用程序生命周期中触发。 16) 您对 Aura 定义包 (aura definition bundle) 有何理解?Aura 定义包是一种特殊的包,它包含 Aura 定义及其相关资源。这可能是一个组件、应用程序、事件、接口或一组标记。AuraDefinitionBundle 组件是一个包含定义文件的文件夹。它不像大多数其他元数据组件那样是单个文件。相反,它是一组文件。每个文件代表包中的一个资源,例如标记、应用程序、代码文件(包括控制器和助手)、事件、文档和接口。 Aura 定义包没有后缀。定义文件可以具有以下后缀之一:
17) 什么是 Lightning Out?Lightning Out 是一种在我们要将组件用于外部网站时使用的过程。Lightning Out 的最大优势是可以在 Visualforce 页面中利用 Lightning 组件。 18) 组件事件和应用程序事件之间有哪些主要区别?以下是组件事件和应用程序事件之间主要区别的列表:
19) 有哪些不同类型的 Lightning 记录页面,以及如何构建它们?主要有三种类型的 Lightning 记录页面:
我们可以使用 Lightning App Builder 来创建或构建 Lightning 记录页面。 20) implements 在 Lightning 组件中的用途是什么?Lightning 组件中实现了哪些接口?Implements 用于引用平台接口,这些接口使组件能够在不同上下文中可用或授予对额外上下文数据的访问权限。一个组件可以实现多个接口。 以下是可以在 Lightning 组件中实现的所有接口的列表:
21) Lightning 组件和 Visualforce 组件之间有什么区别?Lightning 组件以客户端为中心,以其动态、对移动设备友好而闻名。另一方面,Visualforce 组件以页面为中心,主要在服务器端工作。 22) 什么是属性 (attributes),属性定义中必需的参数是什么?属性是用于存储值的变量。我们在属性定义中应定义 Default(默认)、Type(类型)、Name(名称)、Access(访问权限)和 Description(描述),尽管 Name 和 Type 是必需参数。 23) Salesforce Lightning 中的 Locker Service 是什么?在 Salesforce Lightning 中,Locker Service 是 Lightning 组件的强大安全架构。此服务用于通过隔离属于某个命名空间下的 Lightning 组件与属于不同命名空间下的组件来改进和增强安全性。Locker Service 遵循一些通过提供对支持 API 的访问来提高代码可维护性的实践。 24) 如何在 VisualForce 页面中使用 Lightning 组件?我们可以通过 Lightning Out 将 Lightning 组件嵌入到 Visualforce 页面中。添加 Lightning 组件到 Visualforce 页面需要遵循以下三个步骤:
25) Salesforce Lightning 中的 FlexiPage 是什么?FlexiPage 是与 Lightning 页面相关的元数据。Lightning 页面指定了一个自适应屏幕,该屏幕包含多个 Lightning 组件。它包含 25 个组件。FlexiPages 以 XML 文件形式存储,并通过部署工具或元数据 API 进行部署。这些 Lightning 页面在 API 中被称为 Flexipages。 26) Lightning 组件是否仅面向移动应用程序?Lightning 组件主要以移动优先的方法设计,但它们具有响应式设计,可以无需编写任何单独的代码即可在桌面上提供相同的体验。 27) 您对 Lightning:navigation 有何理解?Lightning:navigation 用于导航到页面引用或从给定的页面引用创建 URL。我们需要定义页面引用对象以进行导航。页面引用是一个 JavaScript 对象,它引用一个页面,并提供一个解释页面类型及其相应值的定义结构。 它使我们能够导航到以下支持的功能:
28) Lightning 组件的哪些部分是服务器端的,哪些是客户端的?作为 JavaScript 控制器的组件页面位于 Lightning 部件的客户端。另一方面,服务器端充当 Apex 控制器。 29) 可以使用哪些不同类型的属性来存储值?以下是可用于存储值的不同类型属性:
30) 能否将 Lightning 组件与 Angular 等其他框架集成?是的,我们可以将 Lightning 组件与任何第三方框架(如 Angular)集成。 31) 应用程序事件传播有哪些不同阶段?应用程序事件传播主要有三个阶段:
32) Lightning:recordEditForm 的用途是什么?在 Lightning:recordEditForm 中,Lightning:inputField 用于创建可编辑字段。使用 Lightning:outputField,我们可以显示只读信息。 Lightning:recordEditForm 包含以下功能:
33) 能否创建一个可用于移动和桌面用户界面的 Lightning 组件?是的,我们可以创建一个可用于移动和桌面用户界面的 Lightning 组件。Lightning 组件提供了一个极其快速、响应式且默认可用的体验,并与 Salesforce1 App 兼容。其响应式特性使其能够根据屏幕尺寸分辨率进行调整。因此,我们可以在桌面上轻松使用它,而无需任何单独的代码。 34) 如何将 Aura 组件添加到我们的 Visualforce 页面?开发人员可以通过以下三种方式将 Aura 组件添加到 Visualforce 页面:
35) <ui:input> 和 <lightning:input> 之间有什么区别?主要区别在于 <ui:input> 和 <lightning:input>:
36) Aura:method 标签在 Lightning 中的用途是什么?Aura:method 标签主要用于定义组件 API。使用此标签后,我们无需触发和处理组件事件,它允许我们直接在客户端调用组件控制器中的方法。它简化了父组件调用其一部分子组件中的方法所需的代码。 37) 是否可以创建一个组件以继承父组件的样式/CSS,还是我们总是需要在 Salesforce 组件中定义它?完全可以创建一个组件以继承父组件的样式/CSS。我们可以继承父组件的样式,而不必总是在 Salesforce 组件中定义它们。 38) 您对 Action provider(操作提供程序)和 Value provider(值提供程序)有什么理解?Action provider 使我们能够管理组件的事件、操作和处理程序。另一方面,Value provider 使我们能够使用组件 JavaScript 和标记控制器中的组件属性值。 39) 是否可以包含外部 JavaScript/CSS 库(如 jQuery、bootstrap)在组件中?是的,我们可以使用静态资源在 Lightning 组件中包含多个外部 JavaScript/CSS 库,如 JQuery、Bootstrap、自定义 CSS 和自定义 JavaScript 库。 40) 如何在 Lightning 组件中获取当前记录 ID?要在 Lightning 组件中获取当前记录 ID,我们必须将 **force:hasRecordId** 接口添加到 Lightning 组件。这使得组件能够分配当前记录的 ID。如果组件在 Lightning 记录页面、Lightning Experience 中的对象特定自定义操作或操作覆盖中,或者在 Salesforce 应用程序中使用,则当前记录 ID 非常有用。此接口仅在 Lightning Experience、Salesforce 移动应用程序和基于模板的社区中使用时才有效。 41) 您对 Scratch Org 有何理解?Scratch Org 是一个可扩展的 Salesforce 组织,用于测试和开发。Scratch Org 可以创建 30 天,之后我们将停用 Scratch Org。Scratch Org 的默认持续时间是七天。 42) Lightning 组件中 popup 的用途是什么?Popup 或 Modal Boxes 在应用程序之上的一个层中显示内容。此模式主要用于创建或编辑记录以及各种消息和向导等情况。 43) Salesforce Lightning 组件中的 force:appHostable 接口的目的是什么?force:appHostable 接口用作 Salesforce Lightning 组件或移动应用程序中的自定义选项卡。 44) 如何在 Salesforce Lightning 组件中定义字段级安全性?我们可以使用 Lightning:recordEditForm、force:recordData 和 Lightning:recordForm 来定义字段级安全性。 45) Salesforce Lightning 中有哪些不同的全局值提供程序?以下是 Salesforce Lightning 中不同的全局值提供程序:
46) 如何在 Lightning 组件中显示加载旋转器?加载旋转器是我们在检索数据或执行慢计算时可以显示的 CSS 指示符。我们可以使用 **Lightning:spinner** 来显示指示请求正在加载的动画旋转器图像。 47: 捕获阶段和冒泡阶段是如何传播的?捕获阶段从上到下传播,而冒泡阶段从下到上传播。 |
我们请求您订阅我们的新闻通讯以获取最新更新。