1

Ich versuche herauszufinden, warum diese uib-datepicker zeigt immer NaN während der Erhöhung oder Verringerung von Stunden und Minuten.Bootstrap Zeitpicker bekommt NaN während erhöht oder verringert sowohl Stunden und Minuten

<uib-timepicker ng-model="aliasCtrl.beginning" 
        hour-step="hStep" 
        minute-step="mStep" 
        readonly-input="false" 
        show-meridian="ismeridian"></uib-timepicker> 

, die mit den folgenden Controller verknüpft ist:

angular.module('app') 
    .controller(
    'newController', ['$http', '$uibModalInstance', 'params', function($http, $uibModalInstance, params) { 

     var rootScope = this; 

     rootScope.begin= params.beg.format('hh:mm'); 

     rootScope.beginning = new Date(); 
     rootScope.beginning.setHours(parseInt(this.begin.split(':')[0])); 
     rootScope.beginning.setMinutes(parseInt(this.begin.split(':')[1])); 
     ... 

vor jeglicher Interaktion mit Datumsauswahl es vorkompilierte Werte anzeigt ... params.beg ist ein Moment.

+0

Versuchen Sie, ein Datumsobjekt zu erstellen und die Stunden und Minuten darauf festzulegen, und legen Sie dann das Datumsobjekt auf "rootScope.beginning" fest ('var a = neues Datum(); a.setHours (...); rootScope). Anfang = a; ') –

+0

Verzeihen Sie meine Unwissenheit in JavaScript, aber ich habe getan, was Sie geschrieben haben, aber so etwas könnte das gleiche sein? 'var aDate = neues Datum(); aDate.setHours (parseInt (this.inizio.split (':') [0])); aDate.setMinutes (parseInt (this.inizio.split (':') [1])); rootScope.dataInizio = aDate; 'was auch immer, es funktioniert nicht. Gleiches NaN wie vorher. – grimi

Antwort

1

Ich habe gerade vergessen, die aliasCtrl. am Anfang sowohl hStep und mStep setzen und dies bedeutete, dass der Zeitmesser wusste nicht, wie viel Stunden oder Minuten zu erhöhen oder zu verringern.

Es soll so etwas wie sein:

<uib-timepicker ng-model="aliasCtrl.beginning" 
       hour-step="aliasCtrl.hStep" 
       minute-step="aliasCtrl.mStep" 
       readonly-input="false" 
       show-meridian="aliasCtrl.ismeridian"></uib-timepicker> 

weil in meinem Controller habe ich auch rootScope.hstep = 1;, rootScope.mstep = 30; und rootScope.ismeridian = false;

ich nicht sofort gedacht.

Verwandte Themen