我正在尝试基于此数组(来自coffeescript)生成带有把手的菜单:
Template.moduleHeader.modules = -> [
{ "moduleName": "dashboard", "linkName": "Dashboard" }
{ "moduleName": "roomManager", "linkName": "Raumverwaltung" }
{ "moduleName": "userManager", "linkName": "Benutzerverwaltung" }
]
迭代看起来像这样(来自 html 代码):
{{#each modules}}
<li {{this.isActive this.moduleName}}>
<a class="{{this.moduleName}}" href="#">{{this.linkName}}</a>
</li>
{{/each}}
{{this.isActive}}
是这样定义的(再次咖啡脚本代码):
Template.moduleHeader.isActive = (currentModuleName) ->
if currentModuleName is Session.get 'module'
"class=active"
基于Session.get 'module'
适当的菜单项突出显示与 css 类active。
重新加载时,会话变量module
包含“仪表板”,这是该数组中的第一个条目,但是,它没有获得活动类。如果我将一个空对象作为第一项添加到modules
-array 中,则“仪表板”项会正确突出显示。
奇怪的是,第一项(仪表板)渲染得很好,但它没有activethis.isActive
类,这让人印象深刻,即没有为第一项调用该函数。
我做错了吗?