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

Lightning Message Service を使用した DOM 間の通信 (ベータ)

Lightning Message Service API を使用して、DOM、Aura コンポーネント、Visualforce ページ、Lightning Web コンポーネントの間で通信を行います。Salesforce Classic から Lightning Experience に切り替えると、既存の Visualforce ページや Aura コンポーネントと通信できる Lightning Web コンポーネントを作成できるようになりました。Lightning Message Service は、Lightning Experience でのみ使用できます。

Lightning Message Service はベータ機能としてのプレビュー版であり、Salesforce とのマスターサブスクリプション契約における「サービス」には含まれません。この機能はお客様各自の裁量で使用し、購入するときは、現在正式にリリースされている製品および機能に基づいて判断してください。Salesforce はこの機能の特定期間内の正式リリースまたはリリースの有無を保証しません。また、いかなる時点でもこの機能を終了できるものとします。Lightning Message Service は評価のみを目的とし、本番環境での使用はできません。この機能は、そのままの状態で提供され、サポートされておらず、ここから生じる、またはこれに関連する被害または損害に対して、Salesforce はいかなる責任も負いません。すべての制約、Salesforce の権利の保留、本サービスに関する義務、および関連する Salesforce 以外のアプリケーションならびにコンテンツの条件は、この機能の使用に等しく適用されます。Lightning Message Service に関するフィードバックや提案は、Trailblazer Community に投稿してください。

メモ

Visualforce で Lightning Message Service にアクセスするには、$MessageChannel グローバル変数を使用します。メッセージは、逐次化可能な JSON オブジェクトです。メッセージに渡すことができるデータとしては、文字列、数字、オブジェクト、ブールなどがあります。関数や記号をメッセージに含めることはできません。Lightning Experience で使用できるグローバル変数は、$MessageChannel のみです。

組織内で作成されたメッセージチャネルの使用

組織内で開発した Lightning メッセージチャネルの使用例を次に示します。

1<apex:page>
2    <script>
3        // Load the MessageChannel token in a variable
4        var SAMPLEMC = "{!$MessageChannel.SampleMessageChannel__c}";
5    </script>
6</apex:page>

ここでは、数式 {!$MessageChannel.SampleMessageChannel__c} を使用して、カスタムメッセージチャネルを参照します。この式により、変数 SAMPLEMC に割り当てるトークンが作成されます。このトークンは、カスタムメッセージチャネルに固有のもので、Lightning Message Service API メソッド内で使用できます。構文 SampleMessageChannel__c は、LightningMessageChannel メタデータ型のカスタムインスタンスを参照します。__c サフィックスは、カスタムであることを示しますが、カスタムオブジェクトではないことに注意してください。詳細は、「メッセージチャネルの作成」を参照してください。

自分の組織に名前空間がある場合は、その名前空間をメッセージチャネル式に含めないでください。たとえば、自分の組織の名前空間が MyNamespace であっても、メッセージチャネル式は "{!$MessageChannel.SampleMessageChannel__c}" のままです。

組織外で作成されたメッセージチャネルの使用

組織外の開発者が作成したパッケージからのメッセージチャネルを使用するには、構文 {!$MessageChannel.Namespace_name__c} を使用して、それらのチャネルを参照します。たとえば、SampleMessageChannel が自分の組織に対してローカルではなく、名前空間 SamplePackageNamespace を持つパッケージに由来している場合、構文は {$MessageChannel.SamplePackageNamespace__SampleMessageChannel__c} になります。