Невозможно связать с 'disabled', поскольку это не известное свойство 'li'
Я добавил свойство [disabled]
в элемент li
. Но я получаю эту ошибку:
Невозможно привязать к 'disabled', так как это не известное свойство 'li'.
Это часть моего кода:
<li [disabled]="pager.currentPage > 1">
</li>
Кто-нибудь может мне помочь?
Ответы
Ответ 1
Элемент <li>
не имеет свойства disabled
.
Либо компонент или директива, которые вы ожидаете применить к <li
, на самом деле не применялись, или, возможно, вместо атрибута
следует установить атрибут disabled
<li [attr.disabled]="pager.currentPage > 1 ? true : null">
null
- удалить атрибут, если условие ложно. Логическое false
приведет к
<li disabled="false">
который может быть не таким, каким вы хотите. С null
вы получаете
<li>
Ответ 2
Чтобы добавить ответ Гюнтера.
Отключенная собственность имеет смысл только для html-тегов, у которых есть действия, которые могут быть отключены.
Отключенные элементы
Элемент называется фактически отключенным, если он попадает в одну из следующих категорий:
- Элементы кнопки
- элементы ввода, которые отключены
- выберите элементы, которые отключены.
- отключенные элементы textarea
- элементы optgroup, у которых есть отключенный атрибут
- Элементы опции, которые отключены
- Элементы fieldset, которые имеют отключенный атрибут
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].