View
Lightning Component extend 하기
1. 베이스 컴포넌트 생성하고 extensible = "true" 설정
2. 베이스 컴포넌트의 controller 또는 helper 생성
3. 자식 컴포넌트에서 베이스 컴포넌트 extend 하기 (extends="c:BaseComponent")
예시
<aura:component extends = "c:BaseComponent">
//+ controller, implements
<aura: component extends = "c:BaseComponent"
controller = "MyController"
implements = "force:appHostable, forceCommunity:availableForAllPageTypes>
Interfaces
1. force:appHostable
<aura:component implements="force:appHostable">
Lightning Experience 또는 Salesforce 모바일 앱에서 custom 탭에서 사용할 수 있도록 함
marker interface*임
*marker interface
: 인터페이스의 동작을 컴포넌트에 추가하기 위해 컴포넌트의 컨테이너에 보내는 신호
컴포넌트에서 특정 메소드/attribute를 구현할 필요 X, 컴포넌트의 implements attribute에 인터페이스 이름을 추가하면 됨
2. forceCommunity:availableForAllPageTypes
<aura:component implements="forceCommunity:availableForAllPageTypes" access="global">
Experience Builder에 컴포넌트를 표시할 수 있도록 함
access="global" 설정 => 해당 리소스를 org 외부에서 사용할 수 있도록 함
3. force:hasRecordId
<aura:component implements="force:hasRecordId">
컴포넌트가 현재 레코드의 ID를 할당할 수 있도록 함
- 현재 레코드 ID는 컴포넌트가 Lightning record page에서 Lightning Experience 또는 Salesforce 모바일 앱에서 object별 custom 작업 또는 action override로 사용되는 경우 유용
- 적용 가능한 곳 : Lightning Experience, Salesforce mobile app, Aura기반 Experience builder 사이트
- marker interface
- 이 interface를 상속받는 경우, 직접 recordId attribute를 컴포넌트에 추가할 필요 X
//필요 없음! <aura:attribute name="recordId" type="String" />
- 컴포넌트가 Lightning Experience 또는 Salesforce 모바일 앱의 레코드 컨텍스트에서 호출되면 recordId는 보고 있는 레코드의 ID로 설정됨
4. force:lightningQuickActionWithoutHeader
<aura:component implements="force:lightningQuickActionWithoutHeader">
Lightning Experience 또는 Salesforce 모바일 앱에서 custom action으로 사용할 수 있도록 함
- 이 컴포넌트를 Lightning Experience, Salesforce 모바일 앱 모두에서 object별 또는 global action으로 사용 O
- lightningQuickActionWithoutHeader를 상속받으면 lightningQuickAction을 상속받을 수 X
- marker interface
'Salesforce UI > Aura Component' 카테고리의 다른 글
Component Events 01 (0) | 2022.02.22 |
---|---|
Aura.Component[] (0) | 2022.01.21 |
lightning:overlayLib (0) | 2022.01.20 |
Component Events 02 (0) | 2022.01.20 |
Data Binding (Aura & LWC) (0) | 2022.01.19 |
reply