2013-07-11 42 views
2

我有一个应用程序,我在使用Bootstrap nag-tabs来表示一些相互关联的内容。我正在努力做到这一点,当热重新加载时,最后选择的选项卡被重新选中。我也试图这样做,以便在用户返回页面后重新选择最后选定的选项卡。这里是模板:Bootstrap制表符和流星

<template name='admin'> 
    <ul id='adminTabs' class='nav nav-tabs'> 
     {{#if isInRole 'admin'}} 
     <li class='active'><a href='#districtstab' data-toggle='tab'>Districts</a></li> 
     {{/if}} 

     {{#if isInRole 'admin, manage-users'}} 
     <li><a href='#usertab' data-toggle='tab'>Users</a></li> 
     {{/if}} 

     {{#if isInRole 'admin, manage-schools'}} 
     <li><a href='#schoolstab' data-toggle='tab'>Schools</a></li> 
     {{/if}} 

     {{#if isInRole 'admin, manage-classes'}} 
     <li><a href='#classestab' data-toggle='tab'>Classes</a></li> 
     {{/if}} 

     {{#if isInRole 'admin, manage-lessons'}} 
     <li><a href='#lessonstab' data-toggle='tab'>Lessons</a></li> 
     {{/if}} 

     {{>onlineuserstab}} 

    </ul> 
    <div class='tab-content'> 
     {{#if isInRole 'admin'}} 
     {{#isolate}} 
     <div class='tab-pane active' id='districtstab'> 
     {{>districts}} 
     </div> 
     {{/isolate}} 
     {{/if}} 

     {{#if isInRole 'admin, manage-users'}} 
     {{#isolate}} 
     <div class='tab-pane' id='usertab'> 
     {{>users}} 
     </div> 
     {{/isolate}} 
     {{/if}} 

     {{#if isInRole 'admin, manage-schools'}} 
     {{#isolate}}  
     <div class='tab-pane' id='schoolstab'> 
     {{>schools}} 
     </div> 
     {{/isolate}} 
     {{/if}} 

     {{#if isInRole 'admin, manage-classes'}} 
     {{#isolate}} 
     <div class='tab-pane' id='classestab'> 
     {{>classesTemplate}} 
     </div> 
     {{/isolate}} 
     {{/if}} 

     {{#if isInRole 'admin, manage-lessons'}} 
     {{#isolate}} 
     <div class='tab-pane' id='lessonstab'> 
      {{>lessons}} 
     </div> 
     {{/isolate}} 
     {{/if}} 

     <div class='tab-pane' id='onlinetab'> 
     {{#isolate}} 
     {{>onlineusers}} 
     {{/isolate}} 
     </div> 

    </div> 
</template> 

我怎样才能完成我很容易后?

+0

如果你需要保留一些热推重新加载的值,请使用Sessions。他们是设计保存的价值观。 – imslavko

+0

或者更好地使用Cookies,如果您希望用户返回时价值坚持:https://atmosphere.meteor.com/package/cookies –

回答

1

假设哈希值已经习惯了,你有一个像/#classestab一个网址,你可以只检查哈希在模板中的URL渲染并选择相关选项卡:

Template.admin.rendered = function() { 
    if (window.location.hash) 
    $('a[href="' + window.location.hash + '"]').tab('show'); 
} 
+0

单击选项卡时,不会将哈希添加到位置。 – DigiLord

+0

将默认的点击处理程序替换为注释掉'.preventDefault()'的处理程序?如: $('#adminTabs a')。click(function(e){e.preventDefault(); $(this).tab('show'); })' –