Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度输入指令未按IE8和IE9中的预期工作_Javascript_Angularjs_Internet Explorer_Internet Explorer 8 - Fatal编程技术网

Javascript 角度输入指令未按IE8和IE9中的预期工作

Javascript 角度输入指令未按IE8和IE9中的预期工作,javascript,angularjs,internet-explorer,internet-explorer-8,Javascript,Angularjs,Internet Explorer,Internet Explorer 8,我正在AngularJS中使用输入指令,并希望在其上设置一个最小值。我的理解是,如果输入的值低于最小值,则ngModelController上会显示错误 我创建了两个测试,如下所示: describe("myProblem", function () { var ctrl; beforeEach(inject(function ($compile, $rootScope) { var scope = $rootScope.$new(); scop

我正在AngularJS中使用输入指令,并希望在其上设置一个最小值。我的理解是,如果输入的值低于最小值,则ngModelController上会显示错误

我创建了两个测试,如下所示:

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);
    });
});
描述(“我的问题”,函数(){
var-ctrl;
beforeach(注入函数($compile,$rootScope){
var scope=$rootScope.$new();
范围数量=100;
var el=角度元素(“”);
美元(el)(范围);
范围。$digest();
ctrl=el.控制器(“ngModel”);
}));
它(“当输入的值低于最小值时,应存在验证错误”,函数(){
expect(ctrl.$valid).toBe(true);
ctrl.$setViewValue(“-1”);
expect(ctrl.$valid).toBe(false);
});
它(“当输入的值低于最小值时,最小值的键应该有$error”,function(){
expect(ctrl.$error.min).toBe(false);
ctrl.$setViewValue(“-1”);
expect(ctrl.$error.min).toBe(true);
});
});
测试通过了Chrome和IE10+,但没有通过IE8和IE9(我必须支持)


感谢任何能告诉我原因的人?

我已经修复了它,并认为我会在这里发布,以防它对其他人有用

我需要在IE8&9不知道的属性前面加上前缀,以确保旧的IE版本不会将它们从DOM中删除

我已经更新了plunk,但实际上我将上面的一行更改为下面的一行:

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

请注意html字符串中两个attibutes的前缀-

我已经修复了它,我想我会在这里发布,以防它对其他人有用

我需要在IE8&9不知道的属性前面加上前缀,以确保旧的IE版本不会将它们从DOM中删除

我已经更新了plunk,但实际上我将上面的一行更改为下面的一行:

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

请注意html字符串中两个attibutes的前缀-

我已经修复了它,我想我会在这里发布,以防它对其他人有用

我需要在IE8&9不知道的属性前面加上前缀,以确保旧的IE版本不会将它们从DOM中删除

我已经更新了plunk,但实际上我将上面的一行更改为下面的一行:

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

请注意html字符串中两个attibutes的前缀-

我已经修复了它,我想我会在这里发布,以防它对其他人有用

我需要在IE8&9不知道的属性前面加上前缀,以确保旧的IE版本不会将它们从DOM中删除

我已经更新了plunk,但实际上我将上面的一行更改为下面的一行:

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

请注意html字符串中两个attibutes的前缀data-

仅供参考
beforeach()
调用中的变量“scope”应该(我认为)用
var
显式声明。很好!我的复制和粘贴技能正在减弱。在此处和plunk中更改。IE 8和IE 9不支持输入类型编号。这是参考资料,但是Angular文档说它可以改变旧浏览器的行为。你为什么要测试一些在现实生活中不受支持的东西?即使行为是由测试框架模拟的。仅供参考,
beforeach()
调用中的变量“scope”应该(我认为)用
var
显式声明。很好!我的复制和粘贴技能正在减弱。在此处和plunk中更改。IE 8和IE 9不支持输入类型编号。这是参考资料,但是Angular文档说它可以改变旧浏览器的行为。你为什么要测试一些在现实生活中不受支持的东西?即使行为是由测试框架模拟的。仅供参考,
beforeach()
调用中的变量“scope”应该(我认为)用
var
显式声明。很好!我的复制和粘贴技能正在减弱。在此处和plunk中更改。IE 8和IE 9不支持输入类型编号。这是参考资料,但是Angular文档说它可以改变旧浏览器的行为。你为什么要测试一些在现实生活中不受支持的东西?即使行为是由测试框架模拟的。仅供参考,
beforeach()
调用中的变量“scope”应该(我认为)用
var
显式声明。很好!我的复制和粘贴技能正在减弱。在此处和plunk中更改。IE 8和IE 9不支持输入类型编号。这是参考资料,但是Angular文档说它可以改变旧浏览器的行为。你为什么要测试一些在现实生活中不受支持的东西?即使测试框架模拟了该行为。