单击单个元素时,我试图从控制器中打开MD日期选择器,但它不起作用,我使用的是最新版本的Angular Material> 1.0.4
我试图$ inject $ mdDatePicker,但它说找不到模块。
MyController.$inject = [ '$mdDatePicker' ];
我也深入研究了最后的文档,但找不到与此相关的任何内容
最佳答案
我设法通过扩展指令破解了这个添加的功能:
.directive('mdDatepickerAutoopen', function ($timeout) {
return {
restrict: 'A',
require: 'mdDatepicker',
link: function (scope, element, attributes, DatePickerCtrl) {
element.find('input').on('click', function (e) {
$timeout(DatePickerCtrl.openCalendarPane.bind(DatePickerCtrl, e));
});
}
};
})
<md-datepicker md-datepicker-autoopen>
对于将来的兼容性,我会格外小心,因为它取决于内部实现细节而不是任何公共API。话虽如此,这可能是一个尽可能平和的技巧。