如何在指令中设置元素的值?

时间:2016-06-22 13:18:04

标签: angular angular2-directives

每当命中元素的maxLength时,我都会使用指令在元素之间进行自动标记。但首先,我试图弄清楚如何确保一个元素的长度大于元素的最大长度值。

这是我迄今为止所做的尝试:

  if (el.value.length >= el.maxLength) {
    el.value = el.value.substr(0, el.maxLength);
  }

如果我设置断点并逐步执行它,在执行此操作后,el.value正确设置,但在视图中它仍然允许用户键入。

1 个答案:

答案 0 :(得分:0)

目前不支持动态修改验证器属性。它们必须静态添加(无[]绑定),并且只在构建控件实例时读取一次。

您可以使用FormBuilder表单和验证程序执行此操作,该验证程序引用可能影响验证的其他值,如How to change validation of a control after it has been initiated?

中所示