我有一个 Angular 应用程序,它需要在打开或关闭 sidenav 时切换状态。这在打开 sidenav 并通过关闭按钮关闭它时工作正常。但是,如果用户通过单击 sidenav 外部来关闭 sidenav,我需要将 ng-click 附加到 md-backdrop。有没有其他人遇到过这个问题,或者有没有人知道如何实现这个问题?任何帮助将不胜感激。
最佳答案
Sidenav 允许您绑定(bind)一个“md-is-open”参数,该参数为真或假,具体取决于 sidenav 是打开还是关闭。如果您通过单击背景关闭 sidenav,Sidenav 将更新它。您可以绑定(bind)此变量并 $watch 它以了解 sidenav 状态,如下所示:
html:
<div layout="row" ng-controller="MyController">
<md-sidenav md-component-id="left" md-is-open="isSidenavOpen" class="md-sidenav-left">
Left Nav!
</md-sidenav>
</div>
js:
app.controller('MyController', function($scope, $mdSidenav) {
$scope.isSidenavOpen = false;
$scope.$watch('isSidenavOpen', function(isSidenavOpen) {
alert('sidenav is ' + (isSidenavOpen ? 'open' : 'closed'));
});
});
jsfiddle 演示:http://jsfiddle.net/qo1gmrrr/
关于javascript - 无论如何要将 ng-click 添加到 md-backdrop?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29492733/