我在角度应用程序中有多个日期时间输入。
我想在输入模糊时将值设置为现在。我已经在多个位置使用ng-blur
并调用了函数来完成此操作。
问题是我有多个输入,除了在模型上更新哪个属性外,拥有多个功能完全相同的事情似乎很愚蠢。有什么更好的方法来解决这个问题。
另一个问题是,如果已有数据不更新。同样,我有逻辑,但是只需要知道如何将模型传递给函数并为其设置返回值即可。
最佳答案
在控制器中创建一个函数,以将传递的对象设置为当前日期/时间:
$scope.setNow = function(dateObject) {
if (!dateObject) dateObject = new Date();
}
然后,在您的视图中,可以通过您想要使用的任何事件(ng-blur,ng-click等)将显示的任何日期传递给模型。
<div ng-click="setNow(thisDate)">
{{thisDate | date : 'hh:mm:ss'}}
</div>
<div ng-click="setNow(thisOtherDate)">
{{thisOtherDate | date : 'hh:mm:ss'}}
</div>
<input type="text" ng-model="Task.StartDate" ng-blur="setNow(Task.StartDate)" >
<input type="text" ng-model="Task.EndDate" ng-blur="setNow(Task.EndDate)" >
关于javascript - 如何将返回值绑定(bind)到 Angular 模型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34999185/