在此頁面上:遵循使用條件規則反複巢狀設定檔陣列的個人化使用案例,以建置健康計畫電子郵件,其中會列出準備收取或回收的處方。
設定檔包含健康計畫,而每個計畫都包含處方。 處方有各種狀態,例如「就緒」、「召回」或「已接受」。
在此使用案例中,我們希望傳送一封電子郵件給每個設定檔,包括所有準備好取用或召回的處方。 按一下底下的每個標籤,以取得關於用於實作此使用案例的語法的詳細資訊。
嗨,John Doe,
以下是已準備好取貨或已被召回的處方:
健康情況計畫A
- 處方識別碼: pres1
名稱:藥物A
狀態:就緒 - 處方識別碼: pres2
名稱:藥物B
狀態:撤銷
健康情況計畫B
- 處方識別碼: pres4
名稱:藥物D
狀態:就緒
| code language-html |
|---|
|
| code language-javascript |
|---|
|
快速參考 quick-reference
本節包含結構化知識,用於支援與本主題相關的解譯、擷取和問答。
如需完整瞭解,此資訊應結合本頁的檔案。 兩者皆非獨立來源;頁面說明功能,本節提供額外內容,以協助去除術語、意圖、適用性和限制條件的歧義。
TL;DR
此頁面示範完整的個人化使用案例:使用條件式篩選來反複處理巢狀設定檔陣列(包含處方的健康情況計畫),以在電子郵件中僅顯示處於「就緒」或「召回」狀態的處方。
個意圖
- 檢視個人化健康計畫電子郵件的轉譯輸出範例
- 使用巢狀
{{#each}}和{%#if%}區塊進行條件陣列反複專案,瞭解HTML範本 - 瞭解必要的設定檔資料結構:
plans陣列,其中每個計畫都包含具有state欄位的prescriptions陣列
- 巢狀反複專案:在其他
{{#each}}回圈內使用{{#each}}回圈,以周遊設定檔資料中的多階層陣列結構(例如,計畫→處方)。 - 處方狀態:每個處方物件上的欄位,指出其在此使用案例中的生命週期狀態 — 使用的值為「就緒」、「召回」和「已提取」。 (使用案例特定)
{%#if%}/{%/if%}:訊息範本中使用的條件區塊語法,在反複專案期間篩選陣列專案(不同於雙捲曲{{#if}}Handlebars語法)。
- 正式名稱:巢狀陣列反複專案 — 變體:巢狀回圈,每個巢狀多層反複專案
- 請勿混淆:
{{#each}}/{{/each}}(Handlebars反複專案語法,雙大括弧)≠{%#if%}/{%/if%}(條件語法,% — 大括弧) — 這兩個專案在此範本中同時使用 - 請勿混淆: 「已備妥」(處方可供提取)≠「回收」(處方已回收)≠「提取」(處方已收集 — 條件篩選條件會從輸出中排除)
問:電子郵件輸出包含哪些處方狀態?
只會顯示狀態為「就緒」或「召回」的處方。 {%#if prescription.state = "ready" or prescription.state = "recall"%}條件篩選條件會排除狀態為「已擷取」的處方。
問:此使用案例需要什麼設定檔資料結構?
具有plans陣列的設定檔,其中每個計畫物件都包含prescriptions陣列。 每個處方物件都必須有prescription_id、name和state欄位。
問:範本中如何反複使用計畫和處方?
外部{{#each profile.plans as |plan|}}回圈會在每個健康狀態計畫上反複執行。 在其中,{{#each plan.prescriptions as |prescription|}}反複執行每個計畫的處方,並且條件式區塊篩選器僅篩選為「就緒」或「召回」狀態。