繁体   English   中英

AngularJS:$ scope。$ watch两个互相依赖的值

[英]AngularJS: $scope.$watch two values that depend on each other

我有一个AngularJS应用,其日期范围的结束日期总是必须比开始日期晚11个月(总持续时间为12个月)。 用户需要能够进入视图并编辑开始或结束日期。 因此,如果他们编辑开始日期,则结束日期将调整为开始日期之后的11个月。 如果他们编辑结束日期,则开始日期会调整为结束日期之前的11个月。

问题在于,当这两个日期中的任何一个发生更改时,它们都会触发对服务器的AJAX调用,但是现在它的工作方式是,它们会触发两个调用,因为当一个日期更改时,另一个日期也会更改。

我正在尝试使用$scope.$watch('startDate')$scope.$watch('endDate')来检测控制器中的更改,但是正在努力寻找一种方法来一次更改两个值,但只能触发一个AJAX服务器调用。

关于如何使两个日期保持一致的任何想法,但避免重复的AJAX调用和$scope.$watch()循环?

感谢BenFelda的建议,我得以使用g00fy的datepicker和ng-change将一些代码组合在一起,实现了我想要的功能。

视图:

<div ng-model="startDate" ng-change="startDateChanged()" date-picker="startDate" min-view="month"></div>

控制器:

$scope.startDateChanged = function() {
    console.log('the start date changed!');
    console.log($scope.startDate);
    //make AJAX call, which only happens once
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM