2013-10-08 42 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) –