Я добавил свойство [disabled]
в элемент li
. Но я получаю эту ошибку:
Невозможно привязать к 'disabled', так как это не известное свойство 'li'.
Это часть моего кода:
<li [disabled]="pager.currentPage > 1">
</li>
Кто-нибудь может мне помочь?
Я добавил свойство [disabled]
в элемент li
. Но я получаю эту ошибку:
Невозможно привязать к 'disabled', так как это не известное свойство 'li'.
Это часть моего кода:
<li [disabled]="pager.currentPage > 1">
</li>
Кто-нибудь может мне помочь?
Элемент <li>
не имеет свойства disabled
.
Либо компонент или директива, которые вы ожидаете применить к <li
, на самом деле не применялись, или, возможно, вместо атрибута
disabled
<li [attr.disabled]="pager.currentPage > 1 ? true : null">
null
- удалить атрибут, если условие ложно. Логическое false
приведет к
<li disabled="false">
который может быть не таким, каким вы хотите. С null
вы получаете
<li>
Чтобы добавить ответ Гюнтера. Отключенная собственность имеет смысл только для html-тегов, у которых есть действия, которые могут быть отключены.
Отключенные элементы
Элемент называется фактически отключенным, если он попадает в одну из следующих категорий:
https://www.w3.org/TR/html5/disabled-elements.html
Так что не имеет смысла делать ли отключено, потому что у него нет никаких действий для начала.
Другим способом понять это, что свойство отключено на самом деле является свойством @Input, которое определяется директивами, связанными с формами, такими как FormControl или FormControlName и..., поэтому, если вы не используете эти директивы, вы не можете отключить атрибуты.
Например, вход может отключить свойство, потому что он может иметь NgModel, но li или div не могут отключить атрибут, потому что он никогда не может иметь NgModel!
Итак, для [disabled] для работы, angular будет проверять две вещи:
1- Является ли отключено директивой, определенной Angular2 или определенной вами? (нет).
2. отключен @input, который определяется другой директивой, которая используется на том же уровне в теге (например, NgModel, FormControl и..)? (да, это определено, но вы не используете их, потому что у li не может быть FormControl!).
Итак, тогда Angular2 выдаст ошибку.
Где, когда вы [attr.disabled], это уже не @Input, а обычный атрибут html, как и все другие нормальные атрибуты.
Итак, если вам нужно только свойство отключено как обычный атрибут html, чтобы сделать с ним некоторые вещи css, вы должны использовать [attr.disabled].