2016-12-30 90 views
0

在下面的示例中,我想在选择选项卡时显示A指令,并在选择B时显示B.我尝试了ng-show,但是没有得到结果。谁能帮我这个?无法在我的AngularJS的标签结构上创建ngShow或ngHide效果?

谢谢。

HTML:

<ul class="nav nav-tabs"> 
    <li ng-class="tabClass(tab)" ng-repeat="tab in tabs" tab="tab"> 
    <a href="{{tab.link}}" ng-click="setSelectedTab(tab)"> 
     {{tab.label}}  
    </a> 
    </li> 
</ul> 

<A></A> 

<B></B> 

JS:

app.controller('myCtrl', ['$scope', '$location', '$routeParams', function ($scope, $location, $routeParams) { 
    var tabNdx = 0; 
    $scope.tabs = [ 
     { 
      id: 'A', 
      link: '#/s/A', 
      label: 'A' 
     }, 
     { 
      id: 'B', 
      link: '#/s/B', 
      label: 'B' 
     } 
    ]; 

    if ($routeParams.subtab) { 
     angular.forEach($scope.tabs, function (tab, i) { 
      if ($routeParams.subtab === tab.id) { 
       tabNdx = i; 
      } 
     }); 
    } 
    $scope.selectedTab = $scope.tabs[tabNdx]; 
    $scope.setSelectedTab = function (tab) { 
     $scope.selectedTab = tab; 
    }; 
    $scope.tabClass = function (tab) { 
     if ($scope.selectedTab === tab) { 
      return "active"; 
     } else { 
      return ""; 
     } 
    }; 
}]); 

回答

0
<A ng-show="selectedTab.label == 'A'"></A> 

<B ng-show="selectedTab.label == 'B'"></B> 
+0

太谢谢你了 –