要设置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;
}
我问,因为这不起作用。
答案 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
值会从元素中完全删除属性,这是我需要的。