2014-03-24 65 views
1

如果你有一個模板重複標籤是這樣的:訪問從重複陣列中的聚合物

<template id="t" repeat="{{i in outputFields}}"> 
    {{i.name}} 
    <template ref="t" repeat="{{i in i.childOutputFields }}"></template> 
</template> 

我希望能夠acccess當前的陣列中的模板迭代,所以我可以補充一下像這樣:

<template if="{{i != currentArray[currentArray.length-1] }}"> 
    ,</template> 

其中currentArray是模板當前正在迭代的數組。

有沒有辦法獲得當前迭代的數組?

+0

你想用ref =「t」的內部模板做什麼? ref =用於引用模板。所以在這裏,你試圖將模板包含在它自己內部。這可能不是目標。 – DocDude

+0

@DocDude是的,那就是目標。總體思路是使用遞歸爲樹數據結構添加節點。聚合物示例中給出了一個通用示例:[示例](https://github.com/Polymer/TemplateBinding/blob/master/examples/how_to/recursive_templates.html) – rlasch

回答

0

所以我想我會後我在這裏做什麼來解決這個問題。我正在使用CSS,而不是嘗試使用模板重複中的數組來確定放置逗號的位置。

#jsonOutputs ul li:after { 
    content: " , "; 
} 

#jsonOutputs ul li:last-of-type:after { 
    content: ""; 
} 

因此,不要嘗試訪問數組或猜測當前正在迭代哪個數組,只需使用CSS。

1

聚合物支持數組索引模板重複,像這樣:

<template repeat="{{item, i in items}}"> 
    {{item}}<span hidden?="{{i == items.length - 1}}">,</span> 
</template> 

http://jsbin.com/pagejoga/1/edit

+0

在上面的示例中,未知如果當前迭代的數組是outputFields或childOutputFields。 – rlasch