angular-daterangepicker:如何读取更新的模型

时间:2015-03-05 04:30:52

标签: javascript angularjs

我正在使用模块" angular-daterangepicker" (来自here)必须绑定到范围模型。当我这样做时,它正确初始化。但是在更新时,这个模型根本没有改变:

HTML:

<input date-range-picker type="text" ng-model="dateRange" 
 options="dateRangeOpts" />

使用Javascript:

$scope.dateRange = {
  startDate: '2015-03-01',
  endDate: '2015-03-05'
};
$scope.dateRangeOpts = {
  format: 'YYYY-MM-DD'
};

// watch: Not working
$scope.$watch('dateRange', function(newDate) {
  console.log('New date set: ', JSON.stringify(newDate));
}, false);

直接更改dateRange时,会调用$watch。使用daterangepicker时,没有任何反应。

由于手表机制取自示例并且角度包装似乎是活跃的,我认为我做错了。我如何获得更新的模型?

作为一种解决方法,我使用JQuery和ng-change读取输入值。

2 个答案:

答案 0 :(得分:0)

您需要在datapicker

的更改功能上使用以下代码
$scope.$apply(
     function(){
        $scope.varible = date;
    }
);

答案 1 :(得分:0)

我遇到了同样的问题。 只有当我使用dict作为日期时,它才能在我手中工作。 这有效:

    $scope.daterangepicker = {
        dates : { startDate: null, endDate: null } 
        };
    $scope.$watch("daterangepicker.dates", function(newDates, oldDates) {
        console.log("New date set: ", newDates);
    }, false);