AngularJS - 材质菜单

时间:2015-12-15 17:46:43

标签: angularjs list angular-material

我正在一个新的侧边栏工作,你有一些“父列表点”和他们的“子列表点”,如this

这是JavaScript(codepen):

var app = angular.module('app', ['ngMaterial']);

app.controller('AppCtrl', ['$scope', '$mdSidenav', function($scope, $mdSidenav) {
  $scope.toggleSidenav = function(menuId) {
    $mdSidenav(menuId).toggle();
  };

  $scope.toggle = function() {
    if ($scope.closed == 'closed') {
      $scope.closed = 'opened';
    } else {
      $scope.closed = 'closed';
    } 
  };
}]);

我目前的问题是,我不知道如何只显示一个列表,而不是两个点击时(纯粹的“angularJS”)。

如何解决这个逻辑问题?

1 个答案:

答案 0 :(得分:1)

请参阅http://codepen.io/anon/pen/OMMgEx

关键点:

标记:

<md-list-item ng-click="toggle(1)" ng-class="closed[1]">

使用Javascript:

$scope.toggle = function(ndx) {
    if ($scope.closed[ndx] == 'closed') {
        $scope.closed[ndx] = 'opened';
    } else {
        $scope.closed[ndx] = 'closed';
    } 
};