directive('tabs',?function()?{
return?{
????????????restrict:?'E',
????????????transclude:?true,
????????????scope:?{},
????????????controller:?["$scope",?function($scope)?{//為什么是數(shù)組呢:"$scope"該怎么理解呢
????????????????var?panes?=?$scope.panes?=?[];????????????????
????????????????$scope.select?=?function(pane)?{
????????????????????angular.forEach(panes,?function(pane)?{
????????????????????????pane.selected?=?false;
????????????????????});
????????????????????pane.selected?=?true;
????????????????}
????????????????this.addPane?=?function(pane)?{//這里的this該怎么解釋,為什么能直接this.addPane呢
????????????????????if(panes.length?==?0)?$scope.select(pane);
????????????????????panes.push(pane);
????????????????}
????????????}],
????????????template:?'<div?class="tabbable">'?+????????????????'<ul?class="nav?nav-tabs">'?+????????????????'<li?ng-repeat="pane?in?panes"?ng-class="{active:pane.selected}">'?+????????????????'<a?href=""?ng-click="select(pane)">{{pane.title}}</a>'?+//ng-click="select(pane)"這里面的參數(shù)pane是從哪里來(lái)的呢,難道是ng-repeat里面可以直接定義,這里面可以直接傳?
????????????????'</li>'?+????????????????'</ul>'?+????????????????'<div?class="tab-content"?ng-transclude></div>'?+????????????????'</div>',
????????????replace:?true
????????};
????}).
????directive('pane',?function()?{????????return?{????????????require:?'^tabs',//
????????????restrict:?'E',
????????????transclude:?true,
????????????scope:?{
????????????????title:?'@'
????????????},
????????????link:?function(scope,?element,?attrs,?tabsCtrl)?{
????????????????
????????????????tabsCtrl.addPane(scope);//這里為什么傳scope參數(shù)呢
????????????},
????????????template:?'<div?class="tab-pane"?ng-class="{active:?selected}"?ng-transclude>'?+//ng-class="{active:?selected}"怎么理解呢
????????????????'</div>',
????????????replace:?true
????????};
????})
angularjs:這段示例代碼邏輯上有點(diǎn)看不懂
慕前端2813051
2016-08-28 15:29:38