2017-10-20 11 views
0

여러 다른 응용 프로그램에서 사용해야하는 UI5 무의미한 구성 요소를 작성 중입니다. 대상 응용 프로그램은 SAPUI5 ABAP 저장소의 패키지에 있습니다. 대상에 포함되어야하는 구성 요소가 동일한 SAPUI5 ABAP 리포지토리의 다른 패키지에 있습니다.SAP UI5 재사용 구성 요소

이 구성 요소는 어떻게 포함합니까? 문서에서 다음과 같은 방법으로 대상 manifest.json의 변경 사항을 추가했습니다.

"dependencies": { 
"minUI5Version": "1.30.0", 
"libs": { "sap.m": {}, "sap.ui.core": {}, "sap.ui.layout": {} }, 
"components": { "cls.dva": {} } 
}, 

구성 요소는 실제로 어떻게 발견됩니까? 여기서는 SICF 노드 경로를 사용했습니다. 경로에 ".Component"를 추가해야합니까? 대상 응용 프로그램에서 종속 구성 요소를 참조해야하는 다른 곳이 있습니까?

또 다른 질문은 어떻게 구성 요소를 인스턴스화합니까? 대상 Component.js의 init() 함수가 올바른 위치에 있습니까? 또한 그것을 올바르게 초기화하기 위해 전달해야 할 몇 가지 매개 변수가 있습니다. 결국 구성 요소 및 해당 데이터는 앱에서 사용할 수 있어야합니다.

는 기독교

감사

답변

0

여기에 또 다른 기독교 ... 당신이 마음에 두 가지를 유지할 필요가 귀하의 질문에 대한

:-) :

  1. ID를 당신의 얼굴이없는 구성 요소의
  2. SAP ABAP 저장소의 얼굴없는 구성 요소의 이름

앱의 종속성 섹션은로드하려는 구성 요소를 배치하기에 적합한 장소입니다.

따라서 SAP ABAP 리포지토리의 어느 패키지에 무모한 구성 요소가 놓여 있든 중요하지 않습니다. 중요한 것은 이드입니다.

의 당신의 얼굴이없는 구성 요소의 매니페스트에 살펴 보자 : 당신이 사용하여야한다 응용 프로그램의 종속성 섹션에 입력 한 ID에

{ 
    "_version": "1.4.0", 
    "sap.app": { 
    "id": "cls.dva", 
    "type": "component", 
    "i18n": "i18n/i18n.properties", 
    "applicationVersion": { 
    "version": "1.0.0" 
    }, 
    "resources": "resources.json", 
    ... 
    }, 
    "sap.ui": { 
    ... 
    } 
    ... 
} 

이 구성 요소의 ID를 볼 수 있듯이이 동일 당신의 구성 요소. 그것이 당신이 처리해야 할 전부입니다.

이제 Component.js의 init 함수에서 종속 구성 요소를로드하고 액세스하려는 경우 (전체 응용 프로그램에서 사용할 수 있어야하는 경우 적절한 위치), 다음을 수행 할 수 있습니다.

init: function() { 
    sap.ui.component({ 
    manifestUrl: "/sap/bc/ui5_ui5/sap/z_cls_dva/manifest.json", 
    async: true, 
    manifestFirst: true, 
    componentData: { componentSetting: true } 
    }).then(function(oComponent) { 
    this._clsDvaReuse = oComponent 
    }.bind(this)).catch(function(sError) { 
    jQuery.sap.log.error(sError, "-", this.getManifestEntry("sap.app").id) 
    }.bind(this)) 
} 

componentData 통해 당신은 재사용 구성 요소에 매개 변수를 제공 할 수 있습니다 : 예를 들어 첫 번째 배포 중에 준 재사용 컴포넌트, z_cls_dva)의 이름이 필요합니다. 여기에서 this.getComponentData()으로 전화하여 액세스 할 수 있습니다. 설정 속성을 사용하여 구성 요소에 구성을 제공 할 수도 있습니다. 자세한 내용은 sap.ui.component 설명서를 참조하십시오.

알림 : SAPUI5 1.48부터 재사용 구성 요소를로드하기위한 권장 사항이 변경되었습니다. the corresponding article in the sdk documentation을 참조하십시오.