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

Visualforce ページでの Lightning コンポーネントの使用

Aura コンポーネントを Visualforce ページに追加して、両方のソリューションを使用して作成した機能を組み合わせることができ���す。Aura コンポーネントを使用して新機能を実装し、それを既存の Visualforce ページで使用できます。

Visualforce の Lightning コンポーネントは、Lightning Out (Aura コンポーネントをほぼすべての Web ページに埋め込むことができる強力かつ柔軟な機能) に基づいています。Visualforce と共に使用すると、いくつのかの細かな要素が簡略化されます。たとえば、認証を処理したり、接続アプリケーションを設定したりする必要がなくなります。

その他の点では、Visualforce の Lightning コンポーネントは Lightning Out と同じように使用できます。詳細は、このガイドの「Lightning Out」セクションを参照してください。

重要

次の 3 ステップで Aura コンポーネントを Visualforce ページに追加します。
  1. <apex:includeLightning/> コンポーネントを使用して、Visualforce 用 Lightning コンポーネントの JavaScript ライブラリを Visualforce ページに追加します。
  2. コンポーネントの連動関係を宣言する Lightning アプリケーションを作成して参照します。
  3. $Lightning.createComponent() を使用して、ページにコンポーネントを作成する JavaScript 関数を記述します。

Visualforce の Lightning コンポーネントの JavaScript ライブラリの追加

ページの先頭に <apex:includeLightning/> を追加します。このコンポーネントは Visualforce の Lightning コンポーネントで使用される JavaScript ファイルを読み込みます。

Lightning 連動関係アプリケーションの作成および参照

Visualforce の Lightning コンポーネントを使用するには、Lightning 連動関係アプリケーションを参照してコンポーネントの連動関係を定義します。このアプリケーションはグローバルにアクセス可能で、ltng:outApp を拡張します。アプリケーションによって、使用するすべての Lightning 定義 (コンポーネントなど) の連動関係が宣言されます。

以下に、lcvfTest.app という簡単なアプリケーションの例を示します。このアプリケーションは <aura:dependency> タグを使用して、標準 Lightning コンポーネントの ui:button を使用することを示します。
1<aura:application access="GLOBAL" extends="ltng:outApp"> 
2    <aura:dependency resource="ui:button"/>
3</aura:application>

ltng:outApp から拡張すると、SLDS リソースがページに追加されて、Salesforce Lightning Design System (SLDS) で Lightning コンポーネントのスタイルを設定できるようになります。SLDS リソースをページに追加しない場合、代わりに ltng:outAppUnstyled から拡張します。

メモ

このアプリケーションをページで参照するには、次の JavaScript コードを使用します。theNamespace はアプリケーションの名前空間プレフィックスです。つまり、組織の名前空間か、アプリケーションを提供する管理パッケージの名前空間のいずれかになります。
1$Lightning.use("theNamespace:lcvfTest", function() {});
アプリケーションが組織で定義されている場合 (管理パッケージに含まれていない場合)、次の例に示すように、代わりにデフォルトの「c」名前空間を使用できます。組織で名前空間が定義されていない場合は、デフォルトの名前空間を使用する必要があります

Lightning 連動関係アプリケーションの作成についての詳細は、「Lightning Out の連動関係」を参照してください。

ページでのコンポーネントの作成

最後に、$Lightning.createComponent(String type, Object attributes, String locator, function callback) を使用して、最上位コンポーネントをページに追加��ます。この関数は $A.createComponent() に似ていますが、コンポーネントの挿入先となる DOM 要素を指定する追加の domLocator パラメータが含まれています。

前の例の lcvfTest.app を使用して ui:button を作成するサンプル Visualforce ページを見てみましょう。
1<apex:page>
2    <apex:includeLightning />
3
4    <div id="lightning" />
5
6    <script>
7        $Lightning.use("c:lcvfTest", function() {
8          $Lightning.createComponent("ui:button",
9          { label : "Press Me!" },
10          "lightning",
11          function(cmp) {
12            // do some stuff
13          });
14        });
15    </script>
16</apex:page>

このコードでは、「lightning」という ID を持つ DOM 要素が作成され、$Lightning.createComponent() メソッドで参照されます。このメソッドでは、「Press Me!」と表示される ui:button が作成され、コールバック関数が実行されます。

ページ上で $Lightning.use() を複数回コールできますが、すべてのコールで同じ Lightning 連動関係アプリケーションを参照する必要があります。

重要

$Lightning.use() および $Lightning.createComponent() の使用についての詳細は、「Lightning Out のマークアップ」を参照してください。