gpt4 book ai didi

angularjs - Angular - ui-bootstrap - datepicker - 有没有办法检测月份何时发生变化?

转载 作者:行者123 更新时间:2023-12-04 14:27:17 27 4
gpt4 key购买 nike

我想在更改日期时将日期设置为当前选定月份的 1 号。

有没有办法不监视月份按钮上的点击事件?

蒂亚
山姆

最佳答案

Datepicker 的范围有一个属性“activeDateId”,您可以查看它。当您切换月份时,它会发生变化。

我认为最好的方法是在 datepicker 指令上创建一个“装饰器”,以便您可以为其添加功能。如果覆盖指令的“编译”函数,则可以访问其作用域。

您可以在 module.config 函数中执行此操作:

$provide.decorator('datepickerDirective', function($delegate) {
var directive = $delegate[0];

/* Override compile */
var link = directive.link;

directive.compile = function() {
return function(scope, element, attrs, ctrl) {
link.apply(this, arguments);

scope.$watch('activeDateId', function() {
console.log('switched');
});
}
};

return $delegate;
});

编辑

我遇到了与此类似的代码问题,如果您切换月份并且 2 个月的第一个日期在同一天,则 $watch 不会触发。您可以通过查看 Datepicker Controller 中属性“activeDate”的值来解决此问题:
            scope.$watch(function() {
return ctrl.activeDate.getTime();
}, function() {
console.log('switched');
});

关于angularjs - Angular - ui-bootstrap - datepicker - 有没有办法检测月份何时发生变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26928861/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com