2013-10-08 30 views
1

我使用jQuery layout plugin。在一个窗格中,我使用由angularjs创建的标签(下面的代码)。当我关闭布局窗格(jsfiddle中的南窗格)并再次打开时,选项卡不再工作。调整大小不会导致此问题。jQuery布局插件+ AngularJS标签

directive('tabs', function() { 
    return { 
     restrict: 'E', 
     transclude: true, 
     scope: {}, 
     controller: function ($scope, $element) { 
      var tabpanes = $scope.tabpanes = []; 

      $scope.select = function (tabpane) { 
       angular.forEach(tabpanes, function (tabpane) { 
        tabpane.selected = false; 
       }); 
       tabpane.selected = true; 
      } 

    this.addTabPane = function (tabpane) { 
       if (tabpanes.length == 0) $scope.select(tabpane); 
       tabpanes.push(tabpane); 
      } 
    }, 
     template: 
     '<div class="tabbable">' + 
     '<ul class="nav nav-tabs">' + 
     '<li ng-repeat="tabpane in tabpanes" ng-class="{active:tabpane.selected}">' + 
     '<a href="" ng-click="select(tabpane)">{{tabpane.title}}</a>' + 
     '</li>' + 
     '</ul>' + 
     '<div class="tab-content" ng-transclude></div>' + 
     '</div>', 
     replace: true 
    }; 
}). 
directive('tabpane', function() { 
    return { 
     require: '^tabs', 
     restrict: 'E', 
     transclude: true, 
     scope: { title: '@' }, 
     link: function (scope, element, attrs, tabsCtrl) { 
      tabsCtrl.addTabPane(scope); 
     }, 
     template: 
     '<div class="tab-pane" ng-class="{active: selected}" ng-transclude>' + 
     '</div>', 
     replace: true 
    }; 
}) 

的jsfiddle:http://jsfiddle.net/jfn5z/84/

+0

你能做出的jsfiddle,显示错误? –

+0

我试图让它在jsfiddle中运行没有成功:http://jsfiddle.net/jfn5z/84/ – daniel

回答

0

为什么不使用angular-ui-bootstrapangular-strap

OR请的jsfiddle或pluncker。

+0

http://jsfiddle.net/jfn5z/84/ – daniel

+0

这里是工作小提琴-----> http: //jsfiddle.net/Nishchit14/jfn5z/85/ –

1

我希望这将有助于你

工作==>fiddlehttp://jsfiddle.net/Nishchit14/jfn5z/85/

+0

这不起作用。关闭南面并再次打开=>标签不再工作 – daniel

+0

首先抱歉我的理解错误,好像布局插件在(.tab-content.pane-tab)上更改'活动'类。请检查它是否有助于[tab](http://mgcrea.github.io/angular-strap/#/tab) –