有条件地隐藏带有角度的标签

时间:2013-05-27 10:38:56

标签: angularjs

我正在使用Angular首页中的标签示例。我想使用复选框选项有条件地隐藏其中一个标签(例如' show advanced' ....

<pane title="Pluralization" ng-show="showPlural">

我在这里设置了一个例子......

http://jsfiddle.net/michaeldausmann/RJEGY/#base

它不起作用,无论复选框是否打开,标签都无法正确呈现。在我深入了解并重构tabs指令之前,有没有人已经解决了这个问题?或者是否有我可以尝试的备用标签实现?

迈克尔

1 个答案:

答案 0 :(得分:1)

好的,我明白了。需要Hack指令在窗格上获取新属性(showtab)。

  scope: { 
          title: '@',
          tabshow: "="
         },

然后在项目标签模板中隐藏元素...

  template:
    '<div class="tabbable">' +
      '<ul class="nav {{navclass}}">' +
        '<li ng-repeat="pane in panes" ng-class="{active:pane.selected}" ng-hide="pane.tabshow==false">'+
          '<a href="" ng-click="select(pane)">{{pane.title}}</a>' +
        '</li>' +
      '</ul>' +
      '<div class="{{tclass}} tab-content" ng-transclude></div>' +
    '</div>',

和窗格模板

  template:
    '<div ng-hide="tabshow==false" class="tab-pane" ng-class="{active: selected}" ng-transclude>' +
    '</div>',

然后在页面中,使用tabshow而不是ng-show ..     

查看小提琴。

http://jsfiddle.net/michaeldausmann/RJEGY/1/

HTH

迈克尔