Trailheadモジュール「Lightning Web Components for Visualforce Developers」覚え書き
本記事は、モジュール「Lightning Web Components for Visualforce Developers」の覚え書き、気づきの整理です。
Visualforce の開発者向けに Lightning Web Componentsの作り方をVisualforce と比較しながら説明する話。
Get Started with Lightning Development
- Visualforce:モノリシックページ。Lightningコンポーネント:ビルディングブロック。
- ローコード:ビジネスロジックやビルドユーザーインターフェイスを実装するためのポイント&クリックツール(Lightning ページ、クイックアクション など)
- プロコード:独自のコードを記述してアプリをカスタマイズ(Visualforce、Lighnting Web Components など)
Learn How Coding Concepts Apply to Lightning Web Components
- Visualforce:サーバでレンダリング。Lightningコンポーネント:クライアントでレンダリング。
- Lightning Webコンポーネントでマークアップを条件付きでレンダリングするには、if:true|false ディレクティブを使用する。
- 親から子に情報を渡すには、パブリックプロパティ と パブリックメソッド。子から親コンポーネントに情報を渡すには、マークアップから標準のDOMイベントまたはカスタムイベントをディスパッチ
Learn How Coding Concepts Apply to Lightning Web Components
- 実際に lwc のコードを作成する。(初めてきた人ように丁寧に解説があり)
- ちなみに、ハンズオンチャレンジにて手打ちでコードを入力したら、「"lightning-input"タグがありません。」とエラーになりパスできない。accountSearch のコードから転記すると上手く行った。(謎だな・・・)
Work with Salesforce Data
- Lightning Web Component
- データアクセス:JavaScriptコードはLightning Data Service(LDS)またはApexコードのいずれかと対話。
- Apex メソッドはステートレス。VF と違って状態を持たない (javascript 側に、ステートを保持する機能(VFでのcontroller)があるから)。
- レコードIDのアクセスは VFより面倒。
- 例外は javascript 上で対応 (サーバがステートレスだからかと)
- ちなみに、ハンズオンチャレンジは、前述のaccountSearch とほぼ同じなので詰まるところはない。
Use the Navigation Service and Reuse Visualforce
- Visualforce の URLFOR が、Lightning Web Components の
Lightning Navigation Service
- URLの生成、ページ参照への移動、URLパラメーターの操作、およびファイルのオープンができる。
- サービスを利用するには、lightning/navigationをインポート
- Visualforceページの特定の場所にLightning Webコンポーネントを含める場合は、Lightning Components for Visualforce を利用。
- まとめに学習資材が整理してあって便利
Visualforce と比較しながらLightning Web Components の作り方・注意事項がまとめてあるので理解しやすい内容となっている。また記事中にしばしば Lightning Web Components and Salesforce Data | Salesforce Trailhead の案内が出ているので、やっていないのであれば先にやっておいた方が良いです。 後、Cumulus の時のハンズオンチャレンジでもあったが、サンプルコードを記事中の「Copy」ボタンを押しペーストしてからコードを仕上げるとチャレンジは通るが、サイトに表示されているコードを範囲選択してコピペだと「"lightning-input"タグがありません。」エラーが表示されるのは何故なんだ? 見た目では全くわからないのですごく苦しめられた。 (表示内容中の改行文字が関係している?)