Lightning Realty アプリケーション
Lightning Realty アプリケーションのメッセージングフレームワークは、Aura コンポーネントのコード、コンポーネントのハンドラ、および lightning:container で参照する静的リソースに依存します。Lightning コンテナコンポーネントは、Aura コンポーネントの JavaScript コントローラのメッセージ処理関数を参照します。メッセージ処理関数は参照元 JavaScript から送信されたメッセージを受け入れ、lightning-container NPM モジュールにより提供されるメソッドを使用します。
開発組織にこの例をインストールする手順については、「サンプルの Lightning Realty アプリケーションをインストールする」を参照してください。
まずは、Aura コンポーネントを見てみましょう。Realty コンポーネントを定義するこのコードは単純ですが、これを使用して不動産アプリケーションの JavaScript で Salesforce と通信し、サンプルデータを読み込むことができます。
このコードは、「Lightning コンテナコンポーネントからのメッセージの送信」および「コンテナのエラーの処理」のコード例に似ています。
また、Aura コンポーネントのコントローラおよび参照元 JavaScript にあるコードを使用して iframe アプリケーションで Salesforce と通信することもできます。参照元に含まれる PropertyHome.js 内で、Realty アプリケーションは LCC.sendMessage をコールします。このコードセグメントは、物件のリストを絞り込んだ後、選択された物件の住所、価格、市区町村、都道府県、郵便番号、および説明を含むメッセージを作成してコンテナに返します。
次に、JavaScript は名前-値のペアを使用して LCC.sendMessage をコールします。このコードは sendMessage メソッドを使用します。これは、lightning-container NPM モジュールにより提供されるメッセージング API の一部です。詳細は、「Lightning コンテナコンポーネントへのメッセージの送信」 を参照してください。
アクションの最後の部分がコンポーネントのコントローラで handleMessage() 関数内で実行されます。
この関数はメッセージを引数として取り、名前が "PropertyCreated"であることを確認します。これは、アプリケーションの JavaScript 内で LCC.sendMessage により設定された name と同じです。
この関数はメッセージペイロード (この場合は、物件を記述する JSON 配列) を取り、物件の価値を確認します。価値が 100 万ドルを超える場合、ユーザにメッセージを送信し、大規模な不動産商談が存在することを知らせます。それ以外の場合、ユーザにメッセージを返し、小規模の不動産商談が存在することを知らせます。