この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

サードパーティフレームワークの使用

lightning:container を使用すると、サードパーティフレームワーク (AngularJS、React など) で開発されたアプリケーションを Lightning コンポーネントで使用できます。このアプリケーションを静的リソースとしてアップロードします。

アプリケーションには起動ページが必要であり、このページは、lightning:container src 属性で指定します。通常、起動ページは index.html ですが、マニフェストファイルを静的リソースに追加することで別の起動ページを指定できます。次の例は、index.html の起動ページを使用する myApp (静的リソースとしてアップロードされたアプリケーション) を参照する簡単な Lightning コンポーネントを示しています。

1<aura:component>
2    <lightning:container src="{!$Resource.myApp + '/index.html'}" />
3</aura:component>

静的リソースのコンテンツはユーザ次第です。静的リソースには、アプリケーションを構成する JavaScript、関連付けられたすべてのアセット、および起動ページが含まれている必要があります。

他の Lightning コンポーネントと同様に、カスタム属性を指定できます。この例は、同じ静的リソース (myApp) を参照し、3 つの属性 (messageToSendmessageReceivederror) を使用します。このコンポーネントには implements="flexipage:availableForAllPageTypes" が含まれるため、Lightning アプリケーションビルダでこのコンポーネントを使用して Lightning ページに追加できます。

このセクションの例は、Developerforce Github リポジトリで入手できます。

メモ

1<aura:component access="global" implements="flexipage:availableForAllPageTypes" >
2    <aura:attribute access="private" name="messageToSend" type="String" default=""/>
3    <aura:attribute access="private" name="messageReceived" type="String" default=""/>
4    <aura:attribute access="private" name="error" type="String" default=""/>
5    
6    <div>
7        <lightning:input name="messageToSend" value="{!v.messageToSend}" label="Message to send to React app: "/>
8        <lightning:button label="Send" onclick="{!c.sendMessage}"/>
9        <br/>
10        <lightning:textarea value="{!v.messageReceived}" label="Message received from React app: "/>
11        <br/>
12        <aura:if isTrue="{! !empty(v.error)}">
13            <lightning:textarea name="errorTextArea" value="{!v.error}" label="Error: "/>
14        </aura:if>
15    
16        <lightning:container aura:id="ReactApp"
17                             src="{!$Resource.SendReceiveMessages + '/index.html'}"
18                             onmessage="{!c.handleMessage}"
19                             onerror="{!c.handleError}"/>
20    </div>
21</aura:component>

コンポーネントには lightning:input 要素が含まれており、これによりユーザは messageToSend の値を入力できます。ユーザが [Send (送信)] を押すと、コンポーネントはコントローラメソッド sendMessage をコールします。このコンポーネントは、メッセージとエラーを処理するためのメソッドも提供します。

このスニペットにコンポーネントのコントローラや他のコードは含まれませんが、心配はいりません。メッセージとエラー処理の詳細と実装方法については、「Lightning コンテナコンポーネントからのメッセージの送信」および「コンテナのエラーの処理」で説明します。