我想知道是否有办法简化此把手模板以不使用助手。
数据:
{
games:[game: {teamID:1}]
teams:{1:{name:'Team Name'}}
}
模板(请注意,它位于{{#each games}}
:
{{#teamFetch ../this teamID 'name'}}{{/teamFetch}}
助手:
Handlebars.registerHelper('teamFetch', function(season, teamid, property){
return season.teams[teamid][property];
});
我是手把的新手,但这是我能够根据游戏中的id找出如何访问本赛季特定球队的唯一方法,并获得该球队的财产。是否有一种不需要辅助函数的简单方法?
答案 0 :(得分:4)
没有办法绕过不使用助手。这是因为Handlebars不允许您在 segment-literal notation 中传递变量来指定变量路径。在Handlebars documentation regarding Expressions:
要引用不是有效标识符的属性,您可以使用segment-literal表示法:{{#each articles。[10] .comments}} {{/ each}}
所以...理想情况下,我们希望能够做到这样的事情:
{{#each games}}
{{../teams.[teamID].name}}
{{/each}}
但截至目前,无法将teamID
的值传入../teams.[ ].name
。
它只能做到这一点:
{{#each games}}
{{../teams.[0].name}}
{{/each}}
它只能解释数值,例如。 0
,无法解决变量,例如。 teamID