角度2:禁用不正常

时间:2017-09-26 06:37:24

标签: html angular typescript

我在我的打字稿中定义了一个名为readOnlyMode的布尔值,所以当它确实应该被禁用时。我将[disabled]="readOnlyMode"用于HTML中应禁用的所有元素。我自己制作的自定义HTML组件有问题。当我使用上面的表示法时,我得到错误:

Template parse errors:
Can't bind to 'disabled' since it isn't a known property of 'app-color…, …}

导致此问题的HTML代码:

<app-color-palette style="position:relative; z-index:2;"
                                     [disabled]="readOnlyMode"
                                     [(selectedColorIndex)]="categoryDefinitionModel.Color">
</app-color-palette>

如果我使用不带括号的禁用,它会编译,但不会禁用该组件。

2 个答案:

答案 0 :(得分:6)

disabled不是默认属性。您必须在自定义组件中将其指定为:

@Input() disabled: boolean;

然后在组件中指定行为在禁用时应该是什么样的行为。

答案 1 :(得分:1)

[disabled]并非来自内置&#39;组件的属性。为了使其工作,您可以在属性列表中添加@Input() disabled。然后对要禁用的组件元素使用[disabled]=disabled