mdDatepicker 在 AngularJS 1.5.9 和 1.6 中损坏

mdDatepicker broken with AngularJS 1.5.9 and 1.6

Angular 1.5.9 引入了非常有趣的性能升级:

$compileProvider.commentDirectivesEnabled( false ); // disable comment directives
$compileProvider.cssClassDirectivesEnabled( false ); // disable css class directives

我将应用程序中的 Angular 版本更新为 1.5.9-build.5158+sha.cc92da0,后来又更新为 1.6.0-rc.1 以使用上述功能。除了一个细节外,其他一切都很好。 坏掉的东西是 Angular Materials datepicker (1.1.1).

当您打开日期选择器时,它显示为空,但当您将其向上滚动一点时,所有信息都会出现。 DEMO

我花了一些时间摆弄,但我找不到这种行为的直接原因。

任何修复此错误的帮助将不胜感激。

问题是由 $compileProvider.preAssignBindingsEnabled 在 Angular 1.6 中默认设置为 false 引起的。

More info.

为了解决这个问题,我将其更改为 true:

.config( [ '$compileProvider', function ( $compileProvider ) {
  /* ... */
  $compileProvider.preAssignBindingsEnabled( true );
} ] )