Я хочу использовать datepicker начальной загрузки пользовательского интерфейса для всех моих страниц. Так что ни под какой контроллер он не попадет. Мне это нужно в формате директивы. Мой угловой код

app.controller('DummyCtrl',['$scope', function($scope){
    $scope.datePicker = (function () {
    var method = {};
    method.instances = [];

    method.open = function ($event, instance) {
        $event.preventDefault();
        $event.stopPropagation();

        method.instances[instance] = true;
    };

    method.options = {
        'show-weeks': false,
        startingDay: 0
    };

    var formats = ['MM/dd/yyyy', 'dd-MMMM-yyyy', 'yyyy/MM/dd', 'dd.MM.yyyy', 'shortDate'];
    method.format = formats[3];

    return method;
    }());


}]);

Моя разметка

From

Ответы (2)

попробуйте это:

app.directive("uiDatepicker", function() {
  return {
    restrict: "A",
    require: "ngModel",
    link: function(scope, el, attr, ngModel) {
      return el.datepicker({
        dateFormat: attr.dateFormat,
        onSelect: function(dateText) {
          return scope.$apply(function() {
            return ngModel.$setViewValue(dateText);
          });
        }
      });
    }
  };
})

Отредактировано

Попробуйте это:

  YourApp.directive('datePicker', function () {

var controller = [
/* Your controller */
],

  template =  /* Your Template */;

  return {
      restrict: 'EA', //Default in 1.3+
      scope: {
          datasource: '=',
          add: '&',
      },
      controller: controller,
      template: template
  };
});

Надеюсь, это сработает для вас. Для дополнительной отладки предоставьте скрипку ..

2022 WebDevInsider