Angular material 角材料-侧导航

Angular material 角材料-侧导航,angular-material,Angular Material,我使用的是角度材质的sidenav。我已经动态打开了sidenav。该面板以背景出现。用户可以点击背景关闭sidenav。我需要的是在点击背景时禁用sidenav关闭。你能帮我做这个吗?给你- 诀窍是访问background元素并禁用其上的指针事件 加价 <div ng-controller="AppCtrl" layout="column" style="height:500px;" ng-cloak="" class="sidenavdemoBasicUsage" ng-app="My

我使用的是角度材质的sidenav。我已经动态打开了sidenav。该面板以背景出现。用户可以点击背景关闭sidenav。我需要的是在点击背景时禁用sidenav关闭。你能帮我做这个吗?

给你-

诀窍是访问background元素并禁用其上的指针事件

加价

<div ng-controller="AppCtrl" layout="column" style="height:500px;" ng-cloak="" class="sidenavdemoBasicUsage" ng-app="MyApp">
  <section id="section" layout="row" flex="">
    <md-content flex="" layout-padding="">
      <div layout="column" layout-fill="" layout-align="top center">
        <div>
          <md-button ng-click="toggleRight()" ng-hide="isOpenRight($event)" class="md-primary">
            Toggle right
          </md-button>
        </div>
      </div>
      <div flex=""></div>
    </md-content>
    <md-sidenav class="md-sidenav-right md-whiteframe-4dp" md-component-id="right">
      <md-content ng-controller="RightCtrl" layout-padding="">
        <md-button ng-click="close()" class="md-primary">
          Close Sidenav Right
        </md-button>
      </md-content>
    </md-sidenav>
  </section>
</div>

@camden_kid知道如何使用角材料2侧导航吗bar@indra257创建一个问题,我明天会尝试回答。这非常有效!我现在被困在让我的sidenav启动/退出背景上,所以在切换背景之前等待sidenav打开看起来并不奇怪。有什么想法吗?
angular
  .module('MyApp',['ngMaterial', 'ngMessages', 'material.svgAssetsCache'])
  .controller('AppCtrl', function ($scope, $timeout, $mdSidenav, $log, $element) {
    var section,
        backdrop;

    $scope.toggleRight = function() {
      $mdSidenav('right')
        .toggle()
        .then(function () {
        $log.debug("toggle right is done");
        // Disable pointer events on backdrop
        section = angular.element($element[0].querySelector('#section'));
        backdrop = section[0].children[0];
        backdrop.style.pointerEvents = 'none';
      });
    }
  })
  .controller('RightCtrl', function ($scope, $timeout, $mdSidenav, $log) {
    $scope.close = function () {
      $mdSidenav('right').close()
        .then(function () {
          $log.debug("close RIGHT is done");
        });
    };
  });