当md菜单关闭时,我一直在努力关闭md-select。我已经弄明白> https://codepen.io/anon/pen/jxXbrX
但是现在我尝试在我自己的应用程序中实现它,但我在浏览器控制台中收到$mdSelect.hide is not a function
消息。
这是指令:
namespace Xxx{
angular.module('Xxx')
.directive('mdCloseSelect', ['$mdSelect', ($mdSelect) => {
return {
link (scope, element, attrs, $mdSelect) {
scope.$on('$mdMenuClose', (ev, element, $mdSelect) => {
$mdSelect.hide();
});
}
};
}]);
}
我认为问题在于$mdSelect
的声明,但我无法找到如何正确声明它。
答案 0 :(得分:1)
这至少应该解决未定义的问题:
angular.module('Xxx')
.directive('mdCloseSelect', ['$mdSelect', ($mdSelect) => {
return {
link (scope, element, attrs) { // You can not inject here anything, this is always predefined 3 args
scope.$on('$mdMenuClose', () => { // Here you also can not
$mdSelect.hide();
});
}
};
}]);
P.S。使用一些checkstyle ike Eslint,它会告诉你使用同名的vars是不好的。