计划学习一下莱特宁,从最基本的开始学习,脚踏实地。不忘初心,牢记使命,以下是查阅的资料。

简介

在此Salesforce教程中,将阐述Salesforce Lightning的基础知识,并了解Salesforce Lightning的重要性。 让我们看看什么是CRM,什么使Salesforce发挥作用?
CRM代表客户关系管理,客户关系管理是一种工具,公司可以通过该工具基于数据分析来管理客户的交互。

Salesforce Lightning:

随着数字时代的变化,需要改变组织与客户互动的方式。 这就是Salesforce Lightning发挥作用的地方。

什么是Salesforce Lightning?

Salesforce是基于云的业务应用程序,可帮助保持与客户的联系。 Salesforce在潜在客户的产生,改善销售,达成交易,营销领域,客户服务,分析等方面非常有用。

使用Salesforce,您可以开发应用程序并维护应用程序生态系统。 虚拟CRM可以保存每个人都可以访问的客户端到端信息。 无需编码即可轻松构建应用。 应用生态系统提供了数十亿个已安装的应用,可以出售给客户。 这是世界上最好的CRM平台,使组织能够进行销售,服务和营销。

Salesforce Lightning:

Salesforce Lightning是一个平台,为每个组织提供工具以在Salesforce中构建下一代UI和UX。 Lightning创造了现代的生产力提升用户体验。
让我们来看看Lightning的经验,以更好地了解Salesforce Lightning。

Lightning体验

闪电名称是指像暴风雨中那样的真实闪电。 就像真实的闪电一样,闪电用于创造快速,优美和独特的用户体验,从而使销售团队可以更快地进行销售,这有助于销售代表专注于重要事项。 Lightning Experience使用开源光环框架。 Lightning Experience是一个完全重新设计的框架,用于创建现代用户界面。
让我们看看闪电体验的新变化。
查看以前的Salesforce Classic界面。

现在查看Salesforce Lightning Experience。

您可以看到整个界面已更改。 这就是使用Salesforce Lightning的原因,因为它在每台设备上都提供了现代化的体验,并提供了使用Lightning应用程序构建器和Lightning组件扩展或构建新应用程序的工具。

Lightning组件

Lightning组件框架是一个UI框架,用于为手机和台式机开发动态Web应用程序。 它使用Javascript(客户端)和Apex(服务器端)来创建单页Web应用程序。 该框架是代码的集合,您可以在其中编写应用程序而无需编写代码。 Lightning组件由事件驱动的体系结构组成,该体系结构使构建许多应用程序变得容易。

例:

假设您要使用Lightning框架构建或更新天气应用程序。

<aura:application>
<ns: myAwesomeMaplat=”12.9049314.77.6460073.6z”
lon=”122.4167” />
<ns: weather lat=”37.7833” lon =”12.904” />
</aura:application>
  • Lightning组件框架也可以用于创建单页应用程序。见下图:

  • Salesforce使用Lightning Component来处理客户端,对于服务器端,它依赖于Apex。

Lightning事件处理程序

  • Lightning组件是使用事件驱动的体系结构构建的。 用户界面事件由用户与UI交互驱动。 它提供处理程序(编写处理程序代码)以处理UI事件。

  • Lightning组件包含许多可以协同工作的相关资源。

  • 通过Lightning应用交换来构建个性化应用,即以您希望增加销售代表的方式进行开发。

  • 您甚至可以在任何地方使用Lightning组件。
  • 定制CRM以有效且成功地使用它。
  • Lightning组件建立在开源aura框架上。

为什么要使用闪电组件框架?

Lightning组件框架的好处

  • 开箱即用的组件:包括175多种功能,可在许多方面帮助Salesforce classic缺少的功能。
  • 丰富的组件生态系统:您可以通过Lightning使用Salesforce中已经可用的组件。
  • 性能:服务器端使用JavaScript处理。 假设您想要一些数据,那么它将仅发送必要的数据以提高效率。
  • 事件驱动的体系结构:它提供事件处理程序来处理事件。
  • 更快的开发

开源aura框架

开源Aura框架意味着您可以构建应用程序,而不管您拥有什么数据,即Salesforce中的结构化或非结构化数据。 换句话说,您无需开发技术代码就可以开发应用程序和构建UI。
您可以从https://github.com/forcedotcom/aura获得此框架
Aura命名空间包含用于简化应用程序逻辑的组件,ui命名空间包含用于用户界面的组件,而强制命名空间包含用于Salesforce的组件。 aura框架在Lightning Component Framework中并不完全可用。

Lightning组件的浏览器支持注意事项

不同的浏览器支持不同版本的Salesforce Lightning。 以下是具有Salesforce版本的浏览器的列表:

Different browsers support different versions of salesforce lightning. Here is the list of the browsers with versions of Salesforce:

  Microsoft® Internet Explorer® Google Chrome™ Apple® Safari® Microsoft® Edge Mozilla® Firefox®
Lightning Out IE 11 (support for IE 9 and 10 ends on April 5, 2019) Latest 11.x+ Latest Latest
Lightning Experience IE 11 (support for IE 9 and 10 ends on April 5, 2019) 1 Latest 11.x+ Latest Latest
Outlook integration (Web) IE 11 (support for IE 9 and 10 ends on April 5, 2019) Latest 11.x+ Latest Latest
Outlook integration (Client) IE 11 (support for IE 9 and 10 ends on April 5, 2019) Latest N/A Latest Latest
Salesforce Console in Lightning Experience N/A Latest 11.x+ Latest Latest
Standalone Lightning App (my.app) IE 11 (support for IE 9 and 10 ends on April 5, 2019) Latest 11.x+ Latest Latest

使用开发者控制台

这称为开发者控制台。 它提供工具和组件来开发您的工具。

开发者控制台的功能:

  • 框-1代表用于创建或打开这些闪电资源的菜单栏。

    • 密钥
    • 接口
    • 应用
    • 组件
    • 事件
  • 框2代表要在您的照明资源上工作的工作空间。
  • 框3表示侧栏,用于创建或重新定位客户端站点资源。
    • 设计
    • Helper
    • 样式
    • 控制者
    • SVG
    • 文献资料
    • 渲染器

创建闪电体验和Salesforce移动应用程序的组件

现在,您已经了解了Salesforce Lightning的基础知识。 让我们看下面的示例,以了解如何为Lightning Experience和Salesforce Mobile App创建组件。

加载联系人

以下是加载联系人的以下步骤:
这是Salesforce应用程序中的组件。 两个组件,即contactList和contact遍历并显示contact组件。 联系人显示在联系人列表中。 您还可以选择不同的线索来源来查看联系人的子集。

Contacts Bundle 描述
contacts.cmp displays individual contacts
contactsController.js Navigates to a contact record using
force: NavigateToObject event
contactList Bundle 描述
contactList.cmp Loads list of contacts
contactListController.js Loads the contact data and handles the lead source selection
contactListHelper.js  displays a message on successful loading of contact data, displays and update the total number of contacts
Apex Controller  描述
ContactController.apxc queries contacts records and records based on different lead sources.

让我们创建以上资源:
创建联系人后,可以将联系人加载到Apex控制器上。 Apex控制器连接Salesforce中的组件和数据。 开始之前,您必须对HTML和CSS有更好的了解。 了解HTML和CSS之后,您就可以轻松理解以下代码。
假设一个组织拥有联系记录,

  • 转到文件>新建> Apex类

在新类中输入ContactController。

现在创建一个新的Apex类ContactController.apxc。
编码并保存:

public with sharing class ContactController{
@AuraEnabled public static List<Contact>getContacts(){
List<Contact> contacts =[SELECT Id, Name, MailingStreet, Phone, Email, LeadSource FROM Contact];
}
}
  • 单击文件>新建>闪电组件

在“新建闪电捆绑”窗口的“名称”字段中输入联系人。
组件contacts.cmp已创建。
编码并保存:

<aura:component>
<aura:attribute name=”contact” type=”Contact” />
<lightning:card variant=”Narrow” title=”{!v.contact.Name}”
iconName=”standard:contact”>
<aura:set attribute=”actions”>
<lightning:button name=”details” label=”Details” onclick=”{!c.goToRecord}” />
</aura:set>
<aura:set attribute=”footer”>
<lightning:badge label=”{!v.contact.Email}”/>
</aura:set>
<p class=”slds-p-horizontal_small”>
{!v.contact.Phone}
</p>
<p class=”slds-p-horizontal_small”>
{!v.contact.MailingStreet}
</p>
</lightning:card>
</aura:component>
  • 单击文件>新建>Lightning组件

在“新建闪电捆绑”窗口的“名称”字段中输入contactList。
组件contactList.cmp已创建。
对于命名空间,将ContactController替换为myNamespace.ContactController
将Apex控制器连接到组件:
语法:controller =” ContactController”
编码并保存:

<aura:component implements=”force:appHostable” controller=”ContactController”>
<aura:handler name=”init” value=”{!this}” action=”{!c.doInit}”/>
<aura:attribute name=”contacts” type=”Contact[]”/>
<aura:attribute name=”contactList” type=”Contact[]”/>
<aura:attribute name=”totalContacts” type=”Integer”/>
<div class=”slds-page-header slds-page-header_object-home”>
<lightning:layout>
<lightning:layoutItem>
<lightning:iconiconName=”standard:contact” />
</lightning:layoutItem&gt
<lightning:layoutItem class=”slds-m-left_small”>
<p class=”slds-text-title_capsslds-line-height_reset”>Contacts</p>
<h1 class=”slds-page-header__titleslds-p-right_x-small”>Contact Viewer</h1>
</lightning:layoutItem>
</lightning:layout>
<lightning:layout>
<lightning:layoutItem>
<p class=”slds-text-body_small”>{!v.totalContacts} Contacts • View Contacts Based on Lead Sources</p>
</lightning:layoutItem>
</lightning:layout>
</div>
<lightning:layout>
<lightning:layoutItem padding=”horizontal-medium” >
<lightning:selectaura:id=”select” label=”Lead Source” name=”source” onchange=”{!c.handleSelect}” class=”slds-m-bottom_medium”>
<option value=””>– Select a Lead Source –</option>
<option value=”Referral” text=”Referral”/>
<option value=”Social Media” text=”Social Media”/>
<option value=”All” text=”All”/>
</lightning:select>
<aura:iteration var=”contact” items=”{!v.contacts
<c:contacts contact=”{!contact}”/>
</aura:iteration>
</lightning:layoutItem>
</lightning:layout>
</aura:component>

单击CONTROLLER创建资源,即contactListController.js。

将占位符代码替换为以下代码并保存:

({
doInit : function(component, event, helper){
helper.loadContacts(component);
}
handleSelect : function(component, event, helper){
var contacts = component.get(“v.contacts”);
var contactList = component.get(“v.contactList”);
var selected = event.getSource().get(“v.value”);
var filter = []; var k = 0;
for (var i=0; i<contactList.length; i++){
var c = contactList[i];
if (selected != “All”){
if(c.LeadSource == selected){
filter[k] = c;k++;
}
} else {
filter = contactList;
}
} component.set(“v.contacts”, filter); helper.updateTotal(component);}
}}

单击帮助以创建资源,即contactListHelper.js。

将占位符代码替换为以下代码并保存:

({
loadContacts : function(cmp) {
var action = cmp.get(“c.getContacts”);
action.setCallback(this, function(response){
var state = response.getState();
if (state === “SUCCESS”){
cmp.set(“v.contacts”, response.getReturnValue());
cmp.set(“v.contactList”, response.getReturnValue()); this.updateTotal(cmp);
var toastEvent = $A.get(“e.force:showToast”);
if (state === ‘SUCCESS’){
toastEvent.setParams({
“title”: “Success!”, “message”: ” Your contacts have been loaded successfully.”
});
}
else{
toastEvent.setParams({
“title”: “Error!”, “message”: ” Something has gone wrong.” });
}
toastEvent.fire(); }); $A.enqueueAction(action); })
updateTotal: function(cmp){
var contacts = cmp.get(“v.contacts”);
cmp.set(“v.totalContacts”, contacts.length); }
})

触发事件

在客户端或助手功能中,触发事件。 闪电体验处理强制事件。 让我们测试一下:

  • 点击CONTROLLER创建资源,即contactsController.js。

将占位符代码替换为以下代码并保存:

({ goToRecord : function(component, event, helper){ var sObjectEvent = $A.get(“e.force:navigateToSObject”); sObjectEvent.setParams({ “recordId”: component.get(“v.contact.Id”) }) sObjectEvent.fire(); } })

<lightning:button name=”details” label=”Details” onclick=”{!c.goToRecord}” />

这会在客户端触发goToRecord。

  • 刷新自定义选项卡,然后单击详细信息。

将触发force:navigateToSObject,这将更新视图以显示联系人。

资料转载于https://intellipaat.com/blog/tutorial/salesforce-tutorial/salesforce-lightning-tutorial/

Trailhead Lightning 学习 一的更多相关文章

  1. salesforce lightning零基础学习(二) lightning 知识简单介绍----lightning事件驱动模型

    看此篇博客前或者后,看一下trailhead可以加深印象以及理解的更好:https://trailhead.salesforce.com/modules/lex_dev_lc_basics 做过cla ...

  2. Salesforce LWC学习(十三) 简单知识总结篇一

    本篇参考:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript 随着项目的学习以及trailhead的学习,会遇见自己曾经模糊的定义或者比较浪 ...

  3. trailhead学习之 LWC for Aura Developers

    本篇查看https://trailhead.salesforce.com/content/learn/modules/lightning-web-components-for-aura-develop ...

  4. Salesforce LWC学习(二十三) Lightning Message Service 浅谈

    本篇参考: https://trailhead.salesforce.com/content/learn/superbadges/superbadge_lwc_specialist https://d ...

  5. Salesforce Lightning开发学习(二)Component组件开发实践

    lightning的组件区分标准组件.自定义组件和AppExchange组件.标准组件由SF提供,自定义组件由developer自行开发,AppExchange组件由合作伙伴建立.下面我们写一个简单的 ...

  6. salesforce lightning零基础学习(十一) Aura框架下APP构造实现

    前面的一些lightning文章讲述了aura的基础知识,aura封装的常用js以及aura下的事件处理.本篇通过官方的一个superbadge来实现一个single APP的实现. superbad ...

  7. salesforce lightning零基础学习(七) 列表展示数据时两种自定义编辑页面

    上一篇Lightning内容描述的是LDS,通过LDS可以很方便的实例化一个对象的数据信息.当我们通过列表展示数据需要编辑时,我们常使用两种方式去处理编辑页面:Pop Up Window弹出修改详情以 ...

  8. salesforce lightning零基础学习(六)Lightning Data Service(LDS)

    本篇可参看:https://trailhead.salesforce.com/modules/lightning_data_service Lightning中针对object的detail页面,一个 ...

  9. salesforce lightning零基础学习(十五) 公用组件之 获取表字段的Picklist(多语言)

    此篇参考:salesforce 零基础学习(六十二)获取sObject中类型为Picklist的field values(含record type) 我们在lightning中在前台会经常碰到获取pi ...

随机推荐

  1. 微信小程序之在线试题(1)

    最近在做一套公司的市场化培训项目,涉及到手机端在线答题的设计,首先摒弃app的模式,那就只剩下微信公众号和小程序,而公众号是可以关联小程序,所以我们只需要做好一套小程序. 因为篇幅问题,下面只讲解在线 ...

  2. 使用iOSSelect.js实现iOS的select下拉选择日期的联动效果

    引入文件: <link rel="stylesheet" href="/static/css/iosSelect.css"> <script ...

  3. C# 标准性能测试高级用法

    本文告诉大家如何在项目使用性能测试测试自己写的方法 在 C# 标准性能测试 已经告诉大家如何使用 BenchmarkDotNet 测试性能,本文会告诉大家高级的用法. 建议是创建一个控制台项目用来做性 ...

  4. H3C命令调试debugging--用户视图

    <H3C>terminal debugging     //使用debugging必须使用的命令--打开调试信 息的屏幕输出开关 <H3C>display debugging  ...

  5. IDEA + Spring boot 单元测试

    1. 创建测试类 打开IDEA,在任意类名,任意接口名上,按ctrl+shift+t选择Create New Test image 然后根据提示操作(默认即可),点击确认,就在项目的/test/jav ...

  6. lumen 笔记一

    可以用config()函数和evn()函数来获取 .evn里面的配置内容 config('app.timezone') 获取配置config(['app.timezone' => 'China/ ...

  7. c++ vector 的坑

    一个空的vector执行pop_back操作会发生什么 由于之前看STL源码剖析的时候,发现所执行的操作如下: 只是简单的将末尾的finish迭代器减1后destroy.这让人产生一个疑问:假如这个v ...

  8. 深入浅出Java并发中的CountDownLatch

      1. CountDownLatch 正如每个Java文档所描述的那样,CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行.在Java并发中 ...

  9. 14.python函数

    原文:https://www.cnblogs.com/linhaifeng/articles/6113086.html 1.python中函数定义:函数是逻辑结构化和过程化的一种编程方法. pytho ...

  10. DEVOPS技术实践_16:使用Centos容器作为salve的报错offline的问题

    上一篇创建了一个centos的容器,而且已经安装了openssh [root@node6 ~]# docker ps -a f2320c5d3c54 centos minutes ago Exited ...