2014-05-13 3 views
1

Мы используем функцию самонагрузки UML для выбора даты в нашем проекте. Мне нужно написать много элементов HTML для выбора даты, было бы хорошей идеей написать директиву для таких задач? Если да, пожалуйста, помогите мне предоставить образец кода для любой такой директивы.Угловая Bootstrap Директива Datepicker для сведения к минимуму элементов html

<p class="input-group"> 
       <input type="text" class="form-control" datepicker-popup ng-model="leaveSearch.td" is-open="$parent.dtLeaveToOpen" ng-required="true" /> 
       <span class="input-group-btn"> 
       <button type="button" class="btn btn-default" ng-click="datePickerOpen($event,'dtLeaveTo','dtLeaveToOpen')"><i class="glyphicon glyphicon-calendar"></i></button> 
       </span> 
      </p> 

Как можно обернуть все это в один элемент html, я думаю, используя Angular-директиву, мы можем достичь этого. Я ищу аналогичную идею.

+0

Угловая UI имеет директиву Datepicker. https://github.com/angular-ui/ui-date '' – Thilo

+0

ui-date - это реализация на основе jQuery. мы хотим выполнить некоторую загрузку на основе бутстрапа. – Vipul

+0

Существует также Angular UI Bootstrap Datepicker, который зависит только от Bootstrap (без jQuery): http://angular-ui.github.io/bootstrap/ – Thilo

ответ

2

Наконец я написал ниже директивы, которые работали для меня:

angularStartDirectives.directive('espireDate', function() { 
    return { 
     restrict: 'E', 
     scope: { 
      show: '=',    
      ngModel: '=', 
      ngClass: '=', 
      ngRequired:'=' 
     }, 
     replace: true, // Replace with the template below 
     transclude: true, // we want to insert custom content inside the directive 
     require: 'ngModel', 
     link: function (scope, element, attrs) { 
      scope.open = false; 
      scope.dpOpen = function() { 
       scope.open = true;     
      }; 
     }, 
     template: '<div><div class="input-group input-group-lg" ng-click="dpOpen()" >' 
      + ' <input id="attrs.id" readonly="true" type="text" class="form-control" data-is-open="open" datepicker-popup data-ng-model="ngModel" ng-class="ngClass" ng-required="ngRequired" />' 
      + ' <span class="input-group-addon">' 
       + '<span class="glyphicon glyphicon-calendar"></span>' 
      + '</span></div></div>' 
    }; 
}); 
+1

Благодарим вас за это. Я не знаю, почему этот тип реализации не является более популярным. Это, кажется, имеет большой смысл. Может быть, мой google-fu сейчас ушел. – vinhboy

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