javascript - 无论如何要将 ng-click 添加到 md-backdrop?

标签 javascript html angularjs material-design

我有一个 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/

相关文章:

javascript - 如何将 html 值传递到 AngularJS 方法中?

javascript - 带有自定义过滤器的 Angularjs ng-bind-html

javascript - 如何在 HTML 中嵌入 PDF?

javascript - Webpack 使用 AMD 定义

javascript - Jquery 第一个单词大写字母

javascript - 将 this.value 传递给 JS 中的函数,然后更改该值

html - IE 11 中的 Flex 元素不换行

javascript - 侧面预览tinyMCE内容

angularjs - Angular UI 路由器 : Access state parameters outside ui-view

javascript - Document.ready 及其后面出现的代码