我正在尝试创建一个动态添加属性到字段的指令。我得到了它的工作,但注意到它在数字输入字段上使用时存在问题。输入不允许负数。
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;中键入正数,请将其删除,然后尝试添加负号,第一次无法执行此操作。如果您尝试第二次添加负号,则可以。但是如果你输入一个数字,负号就会消失。