md-datepicker md-min-date在绑定时不起作用

时间:2017-01-26 14:06:57

标签: datepicker

抱歉我的英文。我有相互关联的md-date-picker。当我减少第一个中的日期时,第二个更改3个月加上第一个,并且sencond md-min-date随第一个模型而变化。请参阅codepen以更好地理解。

http://codepen.io/patapron/pen/MJEmyY?editors=1010

我的问题:

当我将第一个日期改为少于3个月时,我在第二个

的最短日期出错

我试图改变像这样的函数的最小日期绑定:

<form name="myOtherForm" flex layout="row" layout-align="center center">  
    <md-input-container>
      <label>From</label>
      <md-datepicker ng-model="myDateFrom" 
                     name="dateFieldFrom" 
                     ng-change="plusTo()"
                     md-max-date="myDateTo">
      </md-datepicker>
    </md-input-container>           
    <md-input-container>
      <label>to</label>
      <md-datepicker ng-model="myDateTo" 
                     name="dateFieldTo" 
                     md-min-date="minDateTo()">
      </md-datepicker>
    </md-input-container>
  </form>

enter image description here

1 个答案:

答案 0 :(得分:0)

尝试将$timeout添加到您的$scope.plusTo函数中,因此我们的修改发生在 md-datepicker 之后。 :

$scope.plusTo = function() {
  $timeout(function () {
    $scope.myDateTo = moment($scope.myDateFrom).add(3, 'months').toDate();
  });
};

并且不要忘记将$timeout注入您的控制器:

... .controller('AppCtrl', function($scope, $timeout) {
      ...
    }

您也可以使用$scope.$applyAsync代替$timeout(已经注入了$scope),但我个人更喜欢&#39; $ timeout&#39;