2015-08-14 2 views
0

Я пытаюсь создать загрузочный директиву datapicker:Почему всплывающее окно datepicker не отображается?

app.directive('datePicker', function ($compile, $timeout) { 
    return { 
     replace: true, 
     restrict:'E', 
     templateUrl: 'datepicker.html', 
     scope: {}, 
     controller: function ($scope) { 
      console.log('datepciker'); 

      // debugger; 

      $scope.today = function() { 
       $scope.dt = new Date(); 
      }; 
      $scope.today(); 

      $scope.clear = function() { 
       $scope.dt = null; 
      }; 

      // Disable weekend selection 
      //$scope.disabled = function(date, mode) { 
      // return (mode === 'day' && (date.getDay() === 0 || date.getDay() === 6)); 
      //}; 

      $scope.toggleMin = function() { 
       $scope.minDate = $scope.minDate ? null : new Date(); 
      }; 
      $scope.toggleMin(); 


      $scope.open = function ($event) { 
       $event.preventDefault(); 
       $event.stopPropagation(); 

       $scope.opened = true; 
      }; 

      //$scope.open = function ($event) { 
      // $scope.status.opened = true; 
      //}; 

      $scope.dateOptions = { 
       formatYear: 'yy', 
       startingDay: 1 
      }; 

      $scope.formats = ['dd-MMMM-yyyy', 'yyyy/MM/dd', 'dd.MM.yyyy', 'shortDate']; 
      $scope.format = $scope.formats[0]; 

      $scope.status = { 
       opened: false 
      }; 

      var tomorrow = new Date(); 
      tomorrow.setDate(tomorrow.getDate() + 1); 
      var afterTomorrow = new Date(); 
      afterTomorrow.setDate(tomorrow.getDate() + 2); 
      $scope.events = 
       [ 
        { 
         date: tomorrow, 
         status: 'full' 
        }, 
        { 
         date: afterTomorrow, 
         status: 'partially' 
        } 
       ]; 

      $scope.getDayClass = function (date, mode) { 
       if (mode === 'day') { 
        var dayToCheck = new Date(date).setHours(0, 0, 0, 0); 

        for (var i = 0; i < $scope.events.length; i++) { 
         var currentDay = new Date($scope.events[i].date).setHours(0, 0, 0, 0); 

         if (dayToCheck === currentDay) { 
          return $scope.events[i].status; 
         } 
        } 
       } 

       return ''; 
      }; 
     } 
    }; 

В моей странице у меня есть:

<date-picker ng-model="dateTo"></date-picker> 

По какой-то причине всплывающее окно не появляется, любые предложения о том, как это исправить?

plunkr: http://plnkr.co/edit/UiMiEk5GQSVId4YdAnCH?p=preview

ответ

0

Line 2 из datepicker.html заканчивается в

is-open="status.opened" 

Если вы изменяете, что просто-Открыть- "открыт" вы получите выбора даты.

Смежные вопросы