0

Я использую директиву ввода в AngularJS и хочу установить для нее минимальное значение. Я понимаю, что если введено значение, меньшее, чем мин, на ngModelController отображается ошибка.Директива по угловому вводу не работает в IE8 и IE9

Я создал this plunker с двумя тестами, которые выглядит следующим образом:

describe("myProblem", function() { 
    var ctrl; 

    beforeEach(inject(function ($compile, $rootScope) { 
     var scope = $rootScope.$new(); 
     scope.qty = 100; 
     var el = angular.element('<input ng-model="qty" type="number" min="0" step="1" placeholder="0" />'); 
     $compile(el)(scope); 
     scope.$digest(); 
     ctrl = el.controller("ngModel"); 
    })); 

    it("should have a validation error when the entered value is below the min", function() { 
     expect(ctrl.$valid).toBe(true); 
     ctrl.$setViewValue("-1"); 
     expect(ctrl.$valid).toBe(false); 
    }); 

    it("should have an $error with key of min when entered value is below min", function() { 
     expect(ctrl.$error.min).toBe(false); 
     ctrl.$setViewValue("-1"); 
     expect(ctrl.$error.min).toBe(true); 
    }); 
}); 

Испытания проходят в Chrome и IE10 +, но не в IE8 и IE9 (который я должен поддержать).

Престижность любому, кто может мне сказать почему?

+0

Просто FYI, что переменная «scope» в вызове 'beforeEach()' должна (я думаю) быть явно объявлена ​​с помощью 'var'. – Pointy

+0

Хорошее место! Мои навыки копирования и пасты уменьшаются. Изменено здесь и в плунге. – Fordio

+0

Ввод номера типа не поддерживается IE 8 и IE 9. Вот ссылка http://caniuse.com/#feat=input-number –

ответ

3

Я исправил его и подумал, что отправлю сюда, если он будет полезен кому-либо еще.

Мне нужно было префикс атрибутов, которые IE8 & 9 не знает с данными - чтобы старые версии IE не удаляли их из DOM.

Я обновил шлепнуть, но по сути я изменил одну строку выше, чтобы выглядеть, как показано ниже:

var el = angular.element('<input ng-model="qty" data-type="number" data-min="0" step="1" placeholder="0" />'); 

Обратите внимание на данных- префикс к двум из атрибута объявления в HTML строку.

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