Pracuję z datepicker kątowy-ui i wszystko działa poprawnie, z wyjątkiem stanu początkowego datepicker. Po wybraniu daty wygląda dobrze. Patrz poniżej:angular-ui datepicker początkowy stan datepicker nie sformatowany na datepicker-popup
Stan początkowy
Po wybraniu daty w selektorze
więc wyraźnie Otrzymuję strigified wersję obiekt daty w pierwszym przypadku i sformatowany po wybraniu daty.
znaczników
<input type="text" class="form-control"
id="birthday"
datepicker-options="datePickerOptions"
datepicker-popup="{{format}}"
data-ng-model="birthday"
data-is-open="opened"
data-ng-required="true"
data-close-text="Close"/>
<span class="input-group-btn">
<button type="button"
class="btn btn-default"
data-ng-click="open($event)">
<i class="fa fa-calendar"></i>
</button>
</span>
Kontroler
var today = $scope.today = function today() {
$scope.birthday = $scope.client.birthday || new Date();
};
today();
$scope.clear = function clear() {
$scope.dt = null;
};
$scope.open = function($event) {
$event.preventDefault();
$event.stopPropagation();
$scope.opened = true;
};
$scope.format = 'MMM d, yyyy';
$scope.datePickerOptions = {
'show-weeks': false
};
Nie jest to wielka sprawa, ale byłoby naprawdę miło, gdyby model (który musi być data obiekt za docs) został sformatowany zgodnie z $scope.format
na początku, a nie jako obiekt o określonym znaczeniu. Ponadto, nie jesteśmy pewni, że to robi różnicę, ale ten datepicker jest wewnątrz modalu. Dzięki za pomoc!
UPDATE
Wygląda na to, że nie jestem jedynym, doświadcza tego, a jest to związane z użyciem kątowe 1.3. https://github.com/angular-ui/bootstrap/issues/2659
To działa naprawić problem z wyświetlaniem, ale zmieni on twój powiązany model w znak znacznika int, a nie obiekt Date. Nie byłoby tak źle, jeśli kliknięcie daty w okienku wyskakującym nie przywróci jej z powrotem do obiektu Date, co oznacza, że kod, który go używa, musi najpierw wykonać uciążliwe sprawdzanie typu. – Fasermaler