2017-10-20 20 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"を追加する必要がありますか?ターゲットアプリケーションで従属コンポーネントを参照する必要がある別の場所はありますか?

もう1つの質問は、コンポーネントをインスタンス化する方法と場所です。ターゲット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はIDと同じである、あなたのを使用しなければならないアプリの依存関係セクションに入力します成分。それだけであなたの世話をする必要があります。

Component.jsのinit関数で依存コンポーネントをロードしてアクセスしたい場合(これはアプリケーション全体で利用できるはずです)、ここで)あなたが最初の展開時にそれを与えたリユース部品の名前を必要とする、例えばz_cls_dva

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を経由して、あなたが再利用コンポーネントにパラメータを提供することができます。そこで、this.getComponentData()にアクセスしてアクセスすることができます。 設定プロパティを使用して、構成をコンポーネントに提供することもできます。詳細についてはsap.ui.componentのドキュメントをご覧ください。

Notice:SAPUI5 1.48以降、再使用コンポーネントのロードに関する推奨事項が変更されました。 the corresponding article in the sdk documentationを参照してください。

関連する問題