上一篇介绍了Aura Framework中 Component类的部分方法,本篇将要介绍Event常用的方法。

1. setParam (String key , Object value):设置事件的param,此项设置不会修改已经被触发的事件。我们在创建事件的时候可以同时声明attribute,在我们fire事件以前,可以对这些attribute设置值,其中key为attribute的name,value部分即为attribute的value。

2.setParams (Object config):设置一组事件的param键值对。参数格式类似于{param1:value1 , param2:value2}。

3.fire (Object params): 触发事件,params是可选项,如果params设置了键值对,则这里的键值对则会覆盖原有的键值对。

4.getParam (String name): 获取params中指定name对应的value值。event fire以后,在对应的handler中可以通过getParam获取相关param的value值。

5.getParams (): 获取params的所有键值对的集合。

6.getEventType (): 获取事件类型, COMPONENT/APPLICATION。

7.getName (): 获取注册的事件的名称。<aura:registerEvent name="TestEvent" type="c:TestComponentEvent"/> ,则此方法返回 TestEvent

8.getSource ():获取事件对应的事件源。事件操作主要分成三部分,事件源,事件,事件handler。通过事件可以获取到对应的数据源。

9.getPhase (): 获取事件阶段。 capture/bubble/default.

10.getType ():  获取注册事件的类型。<aura:registerEvent name="TestEvent" type="c:TestComponentEvent"/> ,则此方法返回 c:TestComponentEvent

11.pause ():暂停事件触发,当调用resume方法后才会继续进行事件触发的执行。

12.resume():继续进行事件触发的执行。

13.stopPropagation ():设置事件是否可以冒泡。调用此方法后将会停止后续的事件阶段的执行。

其他方法或者上面方法的详细描述可以自行查看Event类的方法介绍。下面进行简单的demo。

1.TestComponentEvent.evt: 创建一个Component类型的事件,包含两个String类型的参数;

<aura:event type="COMPONENT" description="test component event">
<aura:attribute name="testAttribute1" type="String"/>
<aura:attribute name="testAttribute2" type="String"/>
</aura:event>

2.TestComponent.cmp: 创建一个Component,注册此事件并设置此事件对应的handler,在init函数中触发此事件;

<aura:component>
<aura:registerEvent name="TestComponentEvent" type="c:TestComponentEvent"/>
<aura:handler name="TestComponentEvent" action="{!c.testComponentHandler}"/>
<aura:attribute name="testA1" type="String"/>
<aura:attribute name="testA2" type="String"/>
<aura:handler name="init" value="{!this}" action="{!c.initHandler}"/>
{!v.testA1 + v.testA2}
</aura:component>

3.TestComponentController.js : init函数中触发事件,触发事件设置相关的attribute值以及打印出相关的属性

({
initHandler : function(component, event, helper) {
var testEvent = component.getEvent('TestComponentEvent');
testEvent.setParam('testAttribute1','test value 1');
testEvent.setParam('testAttribute2','test value 2');
testEvent.fire({'testAttribute1' : 'test value 1 updated'});
},
testComponentHandler : function(component,event,helper) {
component.set('v.testA1', event.getParam('testAttribute1'));
component.set('v.testA2',event.getParam('testAttribute2'));
console.log('type : ' + event.getType());
console.log('event phase : ' + event.getPhase());
console.log('event name : ' + event.getName());
console.log('event params : ' + event.getParams());
console.log('event param 1 : ' + event.getParam('testAttribute1'));
console.log('event type : ' + event.getEventType());
}
})

结果展示:

总结:此篇主要介绍了一些Event类常用的方法,详情可以自行参看官方提供的文档。篇中有问题的欢迎指出,有不懂得欢迎留言。

salesforce lightning零基础学习(九) Aura Js 浅谈二: Event篇的更多相关文章

  1. salesforce lightning零基础学习(八) Aura Js 浅谈一: Component篇

    我们在开发lightning的时候,常常会在controller.js中写 component.get('v.label'), component.set('v.label','xxValue'); ...

  2. salesforce lightning零基础学习(十) Aura Js 浅谈三: $A、Action、Util篇

    前两篇分别介绍了Component类以及Event类,此篇将会说一下 $A , Action以及 Util.  一. Action Action类通常用于和apex后台交互,设置参数,调用后台以及对结 ...

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

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

  4. salesforce lightning零基础学习(十四) Toast 浅入浅出

    本篇参考: https://developer.salesforce.com/docs/component-library/bundle/force:showToast/specification h ...

  5. salesforce lightning零基础学习(十七) 实现上传 Excel解析其内容

    本篇参考: https://developer.mozilla.org/zh-CN/docs/Web/API/FileReader https://github.com/SheetJS/sheetjs ...

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

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

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

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

  8. salesforce lightning零基础学习(一) lightning简单介绍以及org开启lightning

    lightning对于开发salesforce人员来说并不陌生,即使没有做过lightning开发,这个名字肯定也是耳熟能详.原来的博客基本都是基于classic基于配置以及开发,后期博客会以ligh ...

  9. salesforce lightning零基础学习(三) 表达式的!(绑定表达式)与 #(非绑定表达式)

    在salesforce的classic中,我们使用{!expresion}在前台页面展示信息,在lightning中,上一篇我们也提及了,如果展示attribute的值,可以使用{!v.expresi ...

随机推荐

  1. cookie和session 以及Django中应用

    cookie和session 以及Django中应用   cookie和session机制 cookie和session机制 cookie机制采用的是在客户端保持状态的方案.作用就是为了解决HTTP协 ...

  2. vue 需求 data中的数据之间的调用

    我遇到过这种情况  就是在我的data中 会有数据调用data中的其他数据 如图  我的alertInfoType需要拿到screeningCondition中type的值 用过vue的都知道 我是不 ...

  3. oracle数据库卸数及ddl导出

    一.数据库卸数脚本 还是比较明了的,一看就明白. unloaddevice.sh sqlplus atmpbat/atmpbat@inter @"./unloaddevice.sql&quo ...

  4. java 大任务分解成小任务 fork/join

    https://blog.csdn.net/weixin_41404773/article/details/80733324目标求 0+1+2+3+4+5+....+1000 初始 start=0 , ...

  5. Android开发之Activity

    活动(Activity) 活动是最容易吸引用户的地方,它是一种可以包含用户界面的组件,主要用于和用户交互. FirstActivity 手动创建活动 新建一个project,不再选择empty act ...

  6. java安全与加解密

    1 安全 安全性相关内容分为认证.授权和审计(发现安全问题时可以查看相关历史记录) 用户认证 java API表示主体的是javax.security.auth.Subject类型,表示用户身份标识的 ...

  7. VS工具栏没有出现可用工具的情况

    (1)没有切换到资源视图,打开具体的对话框. (2)如果你在调试状态,即使打开了具体的对话框,VS工具箱还是不会出现可用的控件的.所以不要在调试状态下添加控件.

  8. 3.html基础标签:表格

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. 二进制加法Java实现

    二进制整数的Java实现 任意两个二进制数(不论在什么位置)相加,只可能出现4种情况.它们是: 0+0=0 1+0=0+1=1 1+1=10=0+向高一位的进位1 1+1+1=11=1+向高一位的进位 ...

  10. Swift5 语言指南(三) 快速之旅

    传统表明,新语言中的第一个程序应在屏幕上打印“Hello,world!”字样.在Swift中,这可以在一行中完成: print("Hello, world!") // Prints ...