Angular Material 日期选择器在 1.1.1 中损坏了吗?

Angular Material datepicker broken in 1.1.1?

我是不是遗漏了什么或者 Angular Material 的日期选择器在版本 1.1.1 中损坏了?

示例:

<!DOCTYPE html>
<html ng-app="app">
    <head>
        <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/angular-material/1.1.1/angular-material.css">
        <title>foo</title>
    </head>
    <body>
        <main ng-controller="FooController">
            <h1>TEST</h1>
            <div><md-datepicker ng-model="myDate" md-placeholder="Choose NOW!"></md-datepicker></div>
            <div ng-bind="myDate"></div>
        </main>

        <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular.js"></script>
        <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular-aria.js"></script>
        <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular-animate.js"></script>
        <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/angular-material/1.1.1/angular-material.js"></script>
        <script type="text/javascript">
            (function () {
                "use strict";
                var app = angular.module('app', ['ngAria', 'ngAnimate', 'ngMaterial']);

                app.controller('FooController', ['$scope', function ($scope) {
                    $scope.myDate = null;
                }]);
            })();
        </script>
    </body>
</html>

您可以将其保存到 HTML 文件并在浏览器中打开它,或者这里有一个现场演示:http://codepen.io/anon/pen/JbgVeq

如果我尝试打开日期选择器,它只会打开一个或多或少完全空白的对话框。但是如果我将 Material 版本更改为 1.1.0(在 JS 和 CSS 中),它工作正常。我在这里遗漏了什么吗?

这是由于 angular 1.6.

中的更改所致

preAssignBindingsEnabled to false by default

https://github.com/angular/angular.js/blob/master/CHANGELOG.md

您使用变更日志中提供的解决方法:

angular.module('myApp', [])
  .config(function($compileProvider) {
    $compileProvider.preAssignBindingsEnabled(true);
  })

直到 angular material 解决了问题。