Ich verwende https://github.com/fragaria/angular-daterangepicker und http://www.daterangepicker.com/, um eine Datumsauswahl inline anzuzeigen. Basierend auf dem Flugtyp, der in meiner App ausgewählt wurde, benötige ich entweder einen Datumsbereich für Reisedaten oder ein einzelnes Datum für einen Oneway-Flug. Das date-Objekt scheint jedoch nur auf die endDate-Auswahl zu aktualisieren - die zweite Auswahl. Dies ist ein Problem, da ich wirklich nicht weiß, wie das startDate bei der ersten Auswahl gesetzt wird.Aktualisierungsdatum bei Auswahl von startDate in angular-daterangepicker
meine Controller-Funktion
//oneTripDate Calendar controller
app.controller('OnewayPickerCtrl',['$scope','$rootScope', 'searchFactory',
function($scope, $rootScope, searchFactory) {
$rootScope.flyDates = { departureDate : '' };
$scope.onewaydate = {
startDate: searchFactory.search.searchparams.journeys[0].departuredate,
endDate: searchFactory.search.searchparams.journeys[0].returndate
};
$scope.opts = {
autoApply: true,
minDate: moment(),
startDate: moment(),
alwaysShowCalendars: true,
parentEl: '.cal-block .form-group',
autoUpdateInput: true,
singleDatePicker: true
};
//Watch for date changes
$scope.$watch('onewaydate', function(newDate) {
console.log('One Way model Changed');
searchFactory.search.searchparams.journeys[0].departuredate = moment(newDate.startDate).format("YYYY-MM-DD");
}, false);
}
]);
Und das ist, wo ich schließen die Eingabe in den Datepicker umgewandelt werden.
Wie Sie sehen können, beobachte ich das Modell, um Änderungen zu erkennen und dann den Wert auf meine Fabrik anzuwenden. Dies wirkt sich aufgrund der zweiten Auswahl auf Datumsbereiche aus, funktioniert jedoch nicht nur für eine Auswahl. Kurz gesagt, ein OnewayDate wird nur bei der zweiten Auswahl angezeigt.
Hat jemand Erfahrung mit diesem Szenario?
Hey Kumpel, ich habe dies gesehen und es wird nie ausgelöst, bis das endDate ausgewählt ist. Ich werde versuchen, eine JS-Geige zusammenzusetzen. Irgendeine Idee warum das Modell nicht bis zum Ende aktualisiert wird? In Zeile 133 wird autoUpdateInput: false gesetzt, was mich seltsam anmutet. Wenn es entfernt wird, erhalte ich ein Modellüberwachungsereignis, aber es gibt ein ungültiges Datum zurück. – Dbrandt
Sortierte es Kumpel, habe das Kopfgeld sowieso. Gutes Karma hoffentlich. Mach's gut und danke fürs ausprobieren! – Dbrandt