Angular2 maxLength for textarea作为变量

时间:2016-07-07 15:07:05

标签: variables angular textarea

要设置textarea的最大字母数,我们通过编写来实现: <textarea maxLength="50"></textarea>

但是,我可以做下面的事情吗?有什么办法吗?

import { Component } from '@angular/core';

@Component({
  moduleId: module.id,
  selector: 'app-create-offer-page',
  template: `
    <textarea maxLength="textareaLength"></textarea>
  `
})
export class CreateOfferPageComponent {
  textareaLength: number = 50;
}

我问,因为这不起作用。

3 个答案:

答案 0 :(得分:15)

Angular需要[]才能将其解释为绑定

 [maxLength]="textareaLength"

这应该适用于本机验证。 Angular2验证器目前不支持动态值。

答案 1 :(得分:6)

当然,这很简单 - 只需使用属性绑定:

<textarea [attr.maxLength]="textareaLength"></textarea>

答案 2 :(得分:2)

在@rinukkusu提供的答案上稍微扩展一下,您甚至可以通过添加三元运算符使该属性成为可选项,如下所示:

<textarea [attr.maxLength]="textareaLength > 0 ? textareaLength : null"></textarea>

null值会从元素中完全删除属性,这是我需要的。