如何切换重复的角度指令?

时间:2016-03-15 21:00:53

标签: angularjs angularjs-directive

首先我不确定如何搜索这个,所以如果已经有人回答我很抱歉。

嗯...

我有一个指令在我列表中的每个重复项目中调用。

按照代码:

<div class="item" ng-repeat="item in data.items">
    <md-button aria-label="Seguir" class="md-icon-button" ng-click="toggle()">
        <ng-md-icon icon="add_circle"></ng-md-icon>
    </md-button>
    <playlist-add genre="data.genre.slug" playlist="item.slug" bn-good-if="showMenu"></playlist-add>
</div>

我的指示(并不重要)

app.directive('playlistAdd', function(PlaylistService) {
  return {
    templateUrl: BaseHelper.paths.view('playlist/add'),
    link: function ($scope, $element, $attrs) {

      $scope.showMenu = false;

      $scope.toggle = function() {
        $scope.showMenu = !$scope.showMenu;        
      };

    }
  };
})

我的控制器(也没什么新意)

app.controller('PlaylistTrendingCtrl', function($scope) {

  $scope.showMenu = false;

  $scope.toggle = function() {
    $scope.showMenu = !$scope.showMenu;
  };

使用此代码,我有两个选择:

  1. 就这样使用,一次打开所有菜单元素
  2. $scope.showMenu$scope.toggle更改为我的指令,其中菜单元素将逐个打开,但一旦打开。
  3. 最接近我需要的是选项2,但我需要关闭一个打开其他,like this

    那么,有人吗?

    感谢。

1 个答案:

答案 0 :(得分:1)

请检查JSBIN。这是我根据您的要求(您提供的链接)提出的最快的解决方案。希望它有所帮助。