有人能从服务器响应中更新angular ui的禁用日期吗?
https://github.com/angular-ui/bootstrap/issues/779
您应该创建另一个指令,该指令将需要日期选择器的控制器。从您的指令中,您应该调用日期选择器的refreshView来重新评估禁用的数据库。
有人有这方面的示例代码吗?
我正在尝试使用angular ui日期选择器,以便从服务器响应中读取禁用的日期。我更改了日期选择器的最小日期以强制其刷新。
我看到另一个stackoverflow页面,用户让它刷新,但它依赖于点击的日期选择器日历。另一个用于将date-min属性设置为另一个字段的值。
对我来说,我有一个与日期选择器完全独立的字段。更改后,它会向服务器发送一个http请求,成功响应后,会更新可用日期。
更改最小日期以强制刷新的唯一问题是,有些时间是相同的,但要禁用的日期不同。我正在考虑将我不使用的日期选择器选项更改为随机值以强制刷新。
有人有更好的方法吗?我看到了通过服务进行的跨控制器通信,但这是一个不同的模块。我还看到了一个github问题,其中日期选择器控制器可以是
我发现了一个使用装饰器的简单解决方案:https://gist.github.com/cgmartin/3daa01f910601ced9cd3
然后,您只需要调用$scope.$broadcast('refreshDatepickers')
来刷新日期选择器。
重要提示:对于更新的ui-bootstrap
日期选择器库,如果使用带有uib-datepicker
元素或属性的日期选择器,则可能需要将'datepickerDirective'
替换为'uibDatepickerDirective'
。
角度引导日期选择器具有datepicker-options
此用户列出了解决方案:https://github.com/angular-ui/bootstrap/issues/2189#issuecomment-225685104
bogdandrumon评论Jun 13
Use datepicker-options="{minDate: yourScopeMinDate}"
这对我很有效。我有两个选择器,第二个选择器不能大于第一个选择器,所以如果第一个选择器发生变化,第二选择器的最大日期也会发生变化。