我试图将Foundation Datepicker包装成Angular指令。这就是我所拥有的:
angular.module('fdatepicker', [])
.directive('fdatepicker', function() {
return {
require: 'ngModel',
link: function (scope, element, attrs, controller) {
element.fdatepicker('destroy').fdatepicker();
element.on('blur', function() {
scope.$apply(function() {
controller.$setViewValue(element.fdatepicker("getDate"));
});
});
}
}
});
在我看来,datepicker确实出现了以下代码:
<input type="text" ng-model="start_at" fdatepicker>
在我的控制器中,以下代码:
$scope.$watch("start_at", function() {
console.log("start_at changed to " + $scope.start_at);
});
使用datepicker选择日期时,会被触发两次:
// start_at changed to Sun Feb 09 2014 00:00:00 GMT+0100 (CET)
// start_at changed to 02/04/2014
我希望只使用date
对象通知一次,而不是格式化的值!如何将模型与演示文稿(格式化日期)分离?