Почему formatters не работает с изолированной областью?

Почему formatters не работает с изолированной областью? Является ли это ошибкой angular или я что-то не так?

Здесь содержится изоляция области и не работает: http://jsfiddle.net/YbdXQ/56/

 restrict: 'A',
 scope:{},
 link: function(scope, elm, attrs, ctrl) {
      ctrl.$formatters.unshift(function(modelValue) {
          console.log("In formatters" + modelValue);
         return $filter('date')(modelValue);
     });

Это не содержит выделенных и объемных работ отлично: http://jsfiddle.net/YbdXQ/57/

 restrict: 'A',
 link: function(scope, elm, attrs, ctrl) {
      ctrl.$formatters.unshift(function(modelValue) {
          console.log("In formatters" + modelValue);
         return $filter('date')(modelValue);
     });

Ответ 1

Это не имеет ничего общего с форматами, а скорее тем фактом, что ngModel больше не имеет доступа к значению, которое вы пытаетесь передать. Когда вы создаете область выделения, myDate больше не доступен директиве ngModel (так как вы создали новую область - область выделения, которая на ней не имеет myDate). В качестве доказательства здесь не очень полезный пример, который устанавливает myDate в области на основе того, что передается атрибуту ngModel: http://jsfiddle.net/YbdXQ/78/

angular/angular.js#1069, "Одна область выделения директивы изолирует другие директивы от одного и того же элемента", говорит об этом очень проблема:

Например, обратите внимание, как моя настраиваемая директива предотвращает работу ng-модели.

Вас также может заинтересовать fooobar.com/info/12603/....