在我的 meteor.js 应用程序中,我有以下模板:
<ul class="nav nav-tabs" id="userTabs">
{{#if tabIs "editedTab"}}
<li class="active">
<a class='tabButton' id="editedTab">Edited</a>
</li>
{{/if}}
{{#if tabIs "starredTab"}}
<li class="active">
<a class='tabButton' id="starredTab">Starred</a>
</li>
{{/if}}
</ul>
<div id="usernav" class="tab-content">
{{#if tabIs "editedTab"}}
<div id="edited" class="tab-pane active">
<ul>
{{#each edited}}
<li><a class="left-nav" href="{{entryLink this}}">{{title}}</a></li>
{{/each}}
</ul>
</div>
{{/if}}
{{#if tabIs "starredTab"}}
<div id="starred" class="tab-pane active" >
<ul>
{{#each starred}}
<li><a class="left-nav" href="{{entryLink this}}">{{title}}</a></li>
{{/each}}
</ul>
</div>
{{/if}}
</div>
其中有嵌套在#if 中的助手选项卡(根据meteor docs,这是可以接受的,因为他们添加了一个扩展名到车把。)
然后我有咖啡脚本:
Template.leftNav.tabIs = ->
Session.get('tabIs')
Template.leftNav.events =
'click .tabButton' : (evt) ->
$el = $(evt.target)
Session.set( 'tabIs' , $el.attr('id'))
并在 Meteor.startup 中播种会话变量:
Meteor.startup ->
Session.set('tabIs', 'editedTab')
问题是两个选项卡始终呈现,我不知道为什么