Coffeescript AngularUI日期选择器在ngModel上重置时间

Coffeescript AngularUI日期选择器在ngModel上重置时间,coffeescript,angularjs,jquery-ui-datepicker,Coffeescript,Angularjs,Jquery Ui Datepicker,我已经连接了AngularUI日期选择器,它工作得很好,只是当您在日历上选择不同的日期时,它会重置通过ngModel属性附加到它的ISO日期的时间部分。如何设置它以保持时间?我通过在指令中充实它来解决问题 input(ng-model="event.date_started", j-datepicker) div(ng-model="event.date_started", j-datepicker) .directive 'jDatepicker', -> require:

我已经连接了AngularUI日期选择器,它工作得很好,只是当您在日历上选择不同的日期时,它会重置通过ngModel属性附加到它的ISO日期的时间部分。如何设置它以保持时间?

我通过在指令中充实它来解决问题

input(ng-model="event.date_started", j-datepicker)
div(ng-model="event.date_started", j-datepicker)

.directive 'jDatepicker', ->
    require: 'ngModel'
    link: (scope, elem, attrs, ngModel) ->
        # check if elem is an input so when the input
        # gains focus it doesn't spawn another calender
        if not elem.is('input')
            elem.datepicker
                onSelect: (dateText) ->
                    # get the original ISO date and new date
                    oldDate = new Date ngModel.$modelValue
                    newDate = new Date dateText

                    # set the new month and day onto the original ISO date
                    oldDate.setUTCMonth newDate.getUTCMonth()
                    oldDate.setUTCDate newDate.getUTCDate()

                    scope.$apply () ->
                        # update the model with the new info
                        ngModel.$setViewValue oldDate.toISOString()

        ngModel.$render = () ->
            date = new Date ngModel.$viewValue

            # set the default highlighted date on the calender
            elem.datepicker 'setDate', date

            # this renders the date value on the 
            # input element in the format I want
            elem.val date.toDateString()