Lightning Message Service を使用した DOM 間の通信 (開発者プレビュー)
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} になります。