2012-07-22 34 views
4

我有一個用例,我想在Mustache/Hogan JS模板的列表循環部分中訪問父標籤。Mustache/Hogan JS:可以在列表中引用父標籤嗎?

例如,這是我的數據結構:

var data = { 
    users: [{name: "John", age: 100},{name: "Max", age: 80}], 
    meta: {membership: "full"} 
}; 

..和這是我的髭/霍根JS模板:

{{#users}} 
h1 Hello there, {{name}} 
{{/users}} 

..這將呈現爲:

<h1>Hello there, John</h1> 
<h1>Hello there, Max</h1> 

這一切都很好,但是我可以訪問meta.membership 0123的父變量{{#users} ... {{/ users}}部分?看起來這些標籤僅限於本地環境,所以我無法在遍歷用戶時輸出meta.membership標籤的值。

理想我想知道,如果這樣的事情是可能的:

{{#users}} 
h1 Hello there, {{name}} 
p You have a {{meta.membership}} membership 
{{/users}} 

期望的結果:

<h1>Hello there, John</h1> 
<p>You have a full membership</p> 
<h1>Hello there, Max</h1> 
<p>You have a full membership</p> 

在此先感謝

回答

4

PEBKAC

事實證明Hogan JS確實支持Context Bubbling spec,所以我根據問題得到的期望輸入實際上評估爲我期望的輸出! :)我只是有問題得到這個預期的工作,因爲我正在處理一個嚴重嵌套的數據集&幾個鬍鬚包括所以我犯了一些愚蠢的錯誤,給我空白輸出的方式。

現在都好 - 雖然我認爲我最好還是去找我霍根調試器來進一步受挫保存在未來...;)

-1
{{#users}} 
h1 Hello there, {{name}} 
p You have a {{#meta.membership}} membership 
{{/users}} 

OR

{{#users #meta}} 
h1 Hello there, {{name}} 
p You have a {{membership}} membership 
{{/users}} 

試試吧......因爲數據陣列的結構可以工作將允許它的工作

+0

謝謝你的想法,可惜這些都不工作。 :(我想我可能只需要改變我的數據結構以適應上下文中的限制。 – dbau 2012-07-22 12:43:58

相關問題