AngularJS编译打破负数输入

时间:2016-12-01 16:45:30

标签: angularjs angularjs-directive html-input

我正在尝试创建一个动态添加属性到字段的指令。我得到了它的工作,但注意到它在数字输入字段上使用时存在问题。输入不允许负数。

app.directive("attributeDirective", ["$compile", function ($compile) {
return {
    restrict: 'A',
    priority: 10000,
    scope: false,
    link: function (scope, element, attrs) {
        scope.test.attributes.forEach(function (attribute) {
            element.attr(attribute.name, attribute.value);
        })
        element.removeAttr("attribute-directive");
        $compile(element[0])(scope);
    }
  };
}]);

一样使用
<div>Normal Input: <div><input type="number" ng-model="inputNum" attribute-directive/></div></div>

我创建了一个能够显示问题的plunker。 https://plnkr.co/edit/EocIbAGhIS5F5jDV2wGo?p=preview

如果您在&#34;正常输入&#34;中输入正数,请将其删除,然后尝试添加负号,您将无法执行此操作。

如果在&#34;指令输入&#34;中键入正数,请将其删除,然后尝试添加负号,第一次无法执行此操作。如果您尝试第二次添加负号,则可以。但是如果你输入一个数字,负号就会消失。

0 个答案:

没有答案