Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular Can';t绑定到';残疾人士';因为它不是';t'的已知属性;李';_Angular - Fatal编程技术网

Angular Can';t绑定到';残疾人士';因为它不是';t'的已知属性;李';

Angular Can';t绑定到';残疾人士';因为它不是';t'的已知属性;李';,angular,Angular,我将[disabled]属性添加到li元素。但我得到了这个错误: 无法绑定到“disabled”,因为它不是“li”的已知属性。 这是我的代码部分: <li [disabled]="pager.currentPage > 1"> </li> 有人能帮我吗?元素没有禁用的属性。 您希望应用于以添加冈特答案的组件或指令。 Disabled属性仅适用于具有可禁用操作的html标记 禁用元素 如果元素属于以下类别之一,则称其为实际禁用: 禁用的按钮元素 已禁用的输

我将
[disabled]
属性添加到
li
元素。但我得到了这个错误:

无法绑定到“disabled”,因为它不是“li”的已知属性。

这是我的代码部分:

<li [disabled]="pager.currentPage > 1">
</li>



有人能帮我吗?

元素没有禁用的
属性。

您希望应用于
以添加冈特答案的组件或指令。
Disabled属性仅适用于具有可禁用操作的html标记

禁用元素

如果元素属于以下类别之一,则称其为实际禁用:

  • 禁用的按钮元素
  • 已禁用的输入元素
  • 选择禁用的图元
  • text禁用的区域元素
  • 具有禁用属性的optgroup元素
  • 已禁用的选项元素
  • 具有禁用属性的字段集元素

因此,将li设置为禁用状态是没有意义的,因为它没有任何动作可以开始

另一种理解方法是,禁用的属性实际上是一个@Input属性,由表单相关指令定义,如FormControl或FormControlName和,因此,如果不使用这些指令,就不能禁用属性

例如,输入可以具有disabled属性,因为它可以具有NgModel,但li或div不能具有disabled属性,因为它永远不能具有NgModel

因此,要使[禁用]正常工作,angular将检查两件事:

1-禁用的指令是Angular2定义的指令还是您定义的指令?(否)

2.是否已禁用由另一条指令定义的@输入,该指令在标记的同一级别使用(如NgModel、FormControl和..)?(是的,它已定义,但您没有使用它们,因为li无法使用FormControl!)

所以Angular2会抛出一个错误

其中,当您执行[attr.disabled]时,这不再是@Input,它只是一个普通的html属性,与所有其他普通属性一样


所以,如果您只需要将disabled属性作为一个普通的html属性来处理css内容,您应该使用[attr.disabled]

谢谢您的回答,它已经工作了。但是,尽管
li
元素具有
禁用的属性,但它仍然可以被单击。当使用
a
元素时会出现这种情况。请参阅下面的答案<代码>
  • 不支持禁用。是的,我在下面看到了答案,非常感谢[attr.disabled]没有为我工作。
    <li [attr.disabled]="pager.currentPage > 1 ? true : null">
    
    <li disabled="false">
    
    <li>