簡體   English   中英

車把:自定義 for 循環助手中的部分變量

[英]handlebars: partial variable inside custom for loop helper

我從這個 SO 答案中發現了一個非常有用的循環

它運行良好,但是當我使用它時,我的代碼似乎失去了傳遞給局部變量的上下文。 有沒有辦法可以傳遞“assessmentType”變量,以便它在這個助手內部繼續? 我有確切的東西在這個循環之外工作得很好,但它似乎完全失去了它里面的上下文。 “this”的上下文現在屬於 for 循環返回的索引號,所以我不能使用它。

 // for loop helper hbs.registerHelper('for', (from, to, block) => { var accum = ''; for (var i = from; i < to; i++) { accum += block.fn(i); } return accum; }); // helper that takes in the assessment type // and returns a path to a png file that I have hbs.registerHelper("assessment_path", (assessmentType) => { if (assessmentType === "Leadership") return "leadership/Leadership"; if (assessmentType === "Human") return "human/Human" })
 {{.-- partial --}} {{> intro assessmentType="Leadership"}} {{!-- where the variable is being used--}} {{#for 0 20 }} <div class="page"> <img src="/img/{{{assessment_path assessmentType}}}_intro_{{this}}.png"> </div> {{/for}}

我可以通過使用“../”來獲取先前的上下文來做到這一點,我之前已經嘗試過使用 @ 符號,就像我之前所做的那樣,但這沒有用。 解決方案代碼

 {{#for 0 20 }} <div class="page"> <img src="/img/{{{assessment_path../assessmentType}}}_intro_{{this}}.png"> </div> {{/for}}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM