指令是否有 isOpen 属性<md-menu>?



angular-material中是否有<md-menu>指令的isOpen属性(或类似属性)可以侦听或绑定?


注意:我最初的问题要长得多,也过于复杂,但@Sarhanis让我意识到我问错了问题。

多亏了@Sarhanis,我才能找到如何将操作绑定到菜单打开和关闭事件。在打开和关闭菜单时,角度材质分别广播$mdMenuOpen $mdMenuClose事件:

$scope.$on('$mdMenuOpen', function(event, menu) { 
    console.log('opening menu...', event, menu); 
});
$scope.$on('$mdMenuClose', function(event, menu) { 
    console.log('closing menu...', event, menu); 
});

我在同样的场景中挣扎,当我尝试你的答案时,我发现<md-menu>$scope里面有一个$mdMenuIsOpen因此,使用此功能不需要绑定到事件中。

您的示例存在更大的应用程序设计问题。

你应该避免在 Angular 项目中使用 jQuery。通过直接在DOM上工作,jQuery颠覆了Angular的设计方式。

如果要向 HTML 元素添加类和事物,可以使用普通类属性和 ngClass 的组合。以下是ngClass上的一些doco:https://docs.angularjs.org/api/ng/directive/ngClass

显示和隐藏元素应使用 ngShow 或 ngIf 完成:https://docs.angularjs.org/api/ng/directive/ngShowhttps://docs.angularjs.org/api/ng/directive/ngIf

它们应该处理您在控制器中定义的范围变量。

最新更新