angularjs – 如何在Angular JS中刷新时设置bootstrap活动选项卡

前端之家收集整理的这篇文章主要介绍了angularjs – 如何在Angular JS中刷新时设置bootstrap活动选项卡前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在创建标签

<tabset class="content-tabset no-margin">
<tab ng-repeat="t in t.values" heading="{{t.name}}" active="t.active">
  //other stuff
</tab>
</tabset>

现在在其他内容中我也有按钮,当点击更新行并刷新该部分时.刷新时,它还会重置我当前所在的选项卡.
因此,如果我是标签二并单击按钮,面板将刷新,我将返回标签1.如何防止这种情况?

解决方法

使用localStorage.在选择标签上设置它.要获取当前选项卡的活动状态的布尔值,请使用ng-init.

<tabset class="content-tabset no-margin">
  <tab 
    ng-repeat="t in t.values" 
    heading="{{t.name}}" 
    ng-init="isActive = isActiveTab(t.name,$index)"
    active="isActive"
    select="setActiveTab(t.name)">
    //other stuff
  </tab>
</tabset>

并在你的控制器

$scope.setActiveTab = function( activeTab ){
    localStorage.setItem("activeTab",activeTab);
};

$scope.getActiveTab = function(){
    return localStorage.getItem("activeTab");
};

$scope.isActiveTab = function( tabName,index ){
    var activeTab = $scope.getActiveTab();
    return ( activeTab === tabName || ( activeTab === null && $index === 0 ) );
};

注意:由于您的选项卡没有唯一ID,因此名称应该是唯一的,以便正确检测活动选项卡.

见例JSFiddle.

猜你在找的Angularjs相关文章