Aura 이벤트

dev_jo·2022년 6월 21일
0

세일즈포스

목록 보기
6/18

컴퍼넌트와 컴퍼넌트 간에 데이터를 주고 받기 위해서 Aura 이벤트를 사용한다.

<!-- aura evnet example -->
<aura:event type="COMPONENT">
    <aura:attribute name="message" type="String"/>
</aura:event>
이벤트에는 전달받을 데이터 타입을 등록 해준다.
<!-- ParentComponent.cmp example -->
<aura:component>
 <aura:handler name="EventTest_evt" event="c:EventTest_evt" action="{!c.handleEvt}"/>
 <c:ChildComponent/>    <!--자식 컴퍼넌트-->
</aura:component>
부모 컴퍼넌트에 자식컴퍼넌트가 이벤트를 발생시키면 감지할 이벤트를 선언 
이벤트가 호출되면 실행시킬 컨트롤러 메소드를 action에 선언한다.
<!-- ChildComponent.cmp example -->
<aura:component>
  <aura:registerEvent name="EventTest_evt" type="c:EventTest_evt"/>  <!--이벤트 등록-->
    <button onclick="{!c.evtFire}">이벤트 발생</button>  <!--이벤트 호출--> 
</aura:component>
자식 컴퍼넌트에 이벤트를 등록시킨다.
// ChildComponent.controller example 
({
    evtFire : function (component, event, helper) {
          var cmpEvent = component.getEvent("EventTest_evt");
          cmpEvent.setParam("message", "child to parent");    
          cmpEvent.fire(); 
      }
})
이벤트에 전달할 파라미터를 할당해주고, 이벤트 발생시킨다.

위와 같은 방식은 부모 컴퍼넌트와 자식 컴퍼넌트 간에 이벤트 타입 (COMPONENT) 이고
부모 컴퍼넌트와 부모 컴퍼넌트 간에 이벤트 타입 (APPLICATION) 은 형식이 살짝 다르다.

APPLICATION 방식 : https://developer.salesforce.com/docs/atlas.en-us.lightning.meta/lightning/events_application.htm

profile
To be a better developer!!

0개의 댓글