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
它们应该处理您在控制器中定义的范围变量。