簡體   English   中英

在Handlebars.js中渲染部分內容時向上下文添加屬性

[英]Add properties to context when rendering partial in Handlebars.js

使用handlebars.js渲染部分模板時,是否可以向上下文添加屬性?

{{> MyTemplate { X: Y }}}

我有一個共享模板,需要插入一些值,具體取決於使用哪個“主”模板。

您不能直接在局部調用中執行此操作,不可以。 但是,您可以將上下文傳遞給部分上下文,前提是包裝上下文中已經有可用的上下文。

為了在上下文中“嵌入”數據,您可以使用設置私有變量的助手,如下所示:

<div>
  {{makeVar 'mode' 33}}
  <span>mode: {{@mode}}</span><!-- will return mode: 33 -->
</div>

然后,通過將上下文中的動態內容傳遞給makeVar幫助器,可以計算@mode的值,然后將其添加到當前上下文中。

您也可以修改上下文本身,或動態地將上下文與計算的數據合並。 請注意:這樣做也會影響上下文的下游用戶。)

因此,您可以像這樣調用partial,並讓包裝上下文相應地設置@mode

<div>
  {{> myPartial .}}<!-- inside partial, @mode is accessible, along with context -->
</div>

參見: http : //jsfiddle.net/mcw0933/Cy64X/

暫無
暫無

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

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