2016-02-18 33 views
0

我想要訪問參數模板,而我已經在{{#each}}上。例如:已存在{{#each}}時訪問模板參數

<template name="overview"> 
    {{> userList users=users level=0}} 
</template> 

<template name="userList"> 
    {{#each users}} 
    <div class="level{{../something}}"> 
    <!-- not working, how can i access {{something}} here ? --> 
    {{>userList users=users level=subLevel}} 
    {{name}} 
    {{/each}} 
</template> 


Template.userList.helpers({ 

    subLevel: function() { 
     return this + 1; 
    } 
}); 

但它不工作,你有什麼想法嗎?

從技術上講,我遞歸調用一個模板,我想知道我的模板在什麼級別。

回答

0

好吧,我終於發現實現這個目標的最好方法是在我的用戶數組中添加一個level鍵,而不是用參數傳遞它。 Spacebars似乎無法達到我最初想要的效果。

0

我不確定你想要做什麼,但這看起來不正確。調用自己的模板會導致無限循環。例如,創建一個新的流星項目並嘗試在「hello」模板中調用{{> hello}}。它不起作用。

<head> 
    <title>test</title> 
</head> 

<body> 
    <h1>Welcome to Meteor!</h1> 
    {{> hello}} 
</body> 

<template name="hello"> 
    <button>Click Me</button> 
    <p>You've pressed the button {{counter}} times.</p> 
    {{> hello}} 
</template> 

必須有另一種方式做你想要做什麼......

+2

這似乎是一個完全有效的用例來說公司內管理用戶的樹視圖? –

0
<template name="overview"> 
    {{> userList users=users level=0}} 
</template> 

<template name="userList"> 
    {{#each users}} 
    <div class=level> 
    {{>userList users=users level=subLevel}} 
    {{name}} 
    {{/each}} 
</template> 

是因爲你們不會被評估雙引號級變量。

相關問題