[英]Perl (Dancer) & Template Toolkit - looping thru hashref
我將Perl與Dancer和Template Toolkit一起使用 。
我正在將hashref傳遞給模板。
這是通過數組( @musicList
)構建的方式:
my $hashrMusic = {};
my $intCount = 0;
foreach my $track ( @musicList ) {
$hashrMusic->{ $intCount } = $track;
$intCount++ ;
}
這是哈希的Dumper
版本:
$VAR1 = {
'1049' => '09 Faruk\'s Funk (Matt Stein + Nickodemus Rework).mp3',
'127' => '45 There She Goes.mp3',
'71' => 'Kenny Wayne Shepherd - One Foot On The Pass.mp3'
};
這是我將hashref傳遞給模板的方式:
template 'scan.tt', {
'countTracks' => scalar keys %$hashrMusic,
'tracks' => $hashrMusic,
'dump' => Dumper($hashrMusic),
}
現在,我嘗試使用以下TT代碼遍歷hasref來顯示它:
<ul>
<% FOREACH track IN tracks %>
<li><% track.value %></li>
<% END %>
</ul>
這不會產生任何輸出(但是countTracks
可以,就像dump
)。 有任何提示/想法嗎?
您忘記了/ li。 另外,您在濫用hashrefs的FOREACH。
嘗試這個:
<ul>
<% FOREACH track IN tracks %>
<li>
The key is: <% track.key %>
The filename is: <% track.value.filename %>
</li>
<% END %>
</ul>
有關FOREACH的完整文檔,請轉到此處:
http://www.template-toolkit.org/docs/manual/Directives.html#section_FOREACH
Dancer默認情況下不使用TemplateToolkit,而是不支持TT標簽的外觀類似的模板引擎。 挖掘配置文件並將模板引擎配置為TT解決了該問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.