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

Lightning Message Service を使用した DOM 間の通信 (開発者プレビュー)

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

この機能は、Developer Edition 組織とスクラッチ組織で開発者プレビューとして使用できます。この機能は、Salesforce がドキュメント、プレスリリース、または公式声明で正式リリースを発表しない限り、正式リリースされません。

メモ

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

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

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

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