Dupa cum ziceam si in trecut angularjs ne simplifica viata de programator, iar in cazul de mai jos o sa va arat cat de simplu este sa faci un sistem de taburi ca cel al browserului (dai "+" si ai un nou tab, dai "x" si ai omorat un tab). Mai jos este codul si sunt sigur ca o sa intelegeti ce am facut aici, daca nu, va astep pe forum sau sa lasati comentarii ca sa primiti mai multe informatii.
Javascript :
'use strict'; var mp = angular.module('mpApp',[]); mp.controller('Tabs',function($scope) { var self = { tabs: [], tabSelected: 0, i: 0 }; self.addTab = function (name, content) { self.i ++; var tabsLength = self.tabs.length + 1, defaultContent = 'Tab content : '+ self.i, defaultName = 'Tab '+ self.i; content = content || defaultContent; name = name || defaultName; self.tabs.push({ name: name, content: content }); self.tabSelected = tabsLength > 1 ? tabsLength - 1 : 0; }; self.removeTab = function(nr) { self.tabs.splice(nr,1); }; self.selectTab = function(nr) { self.tabSelected = nr; }; return $scope.Tabs = self; });
HTML :
<html> <head> <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"> </head> <body ng-app="mpApp"> <div class="tabs-wrapper" ng-controller="Tabs"> <ul class="nav nav-tabs"> <li ng-repeat="tab in Tabs.tabs"> </li> </ul> <div ng-show="Tabs.tabs.length" class="tab-content"> <div class="tab-pane active"> </div> </div> </div> </body> </html>
Link live output : http://output.jsbin.com/goqugujira/1/#